summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2008-02-12 21:06:19 -0800
committerAaron Plattner <aplattner@nvidia.com>2008-02-12 21:06:19 -0800
commitedd7bf5b8a4073387e4dad37269572ec4d1b6a59 (patch)
treece76c046e503819ab3dd1a20d8e28a6394ac9aa7
parent45c9a40bee540ba6f12d42aeac444884a22d18bf (diff)
1.0-66291.0-6629
-rw-r--r--doc/FRAMELOCK.txt62
-rw-r--r--doc/Makefile.inc3
-rw-r--r--src/gtk+-2.x/Makefile.inc9
-rw-r--r--src/gtk+-2.x/ctkdropdownmenu.c262
-rw-r--r--src/gtk+-2.x/ctkdropdownmenu.h101
-rw-r--r--src/gtk+-2.x/ctkevent.c23
-rw-r--r--src/gtk+-2.x/ctkgvo.c1200
-rw-r--r--src/gtk+-2.x/ctkgvo.h89
-rw-r--r--src/gtk+-2.x/ctkmultisample.c73
-rw-r--r--src/gtk+-2.x/ctkmultisample.h2
-rw-r--r--src/gtk+-2.x/ctkwindow.c10
-rw-r--r--src/image_data/Makefile.inc20
-rw-r--r--src/image_data/gvo_banner_comp_sync_green.h188
-rw-r--r--src/image_data/gvo_banner_comp_sync_grey.h186
-rw-r--r--src/image_data/gvo_banner_comp_sync_red.h188
-rw-r--r--src/image_data/gvo_banner_comp_sync_yellow.h188
-rw-r--r--src/image_data/gvo_banner_left.h340
-rw-r--r--src/image_data/gvo_banner_right.h1501
-rw-r--r--src/image_data/gvo_banner_sdi_sync_green.h143
-rw-r--r--src/image_data/gvo_banner_sdi_sync_grey.h138
-rw-r--r--src/image_data/gvo_banner_sdi_sync_red.h143
-rw-r--r--src/image_data/gvo_banner_sdi_sync_yellow.h142
-rw-r--r--src/image_data/gvo_banner_vid1_green.h165
-rw-r--r--src/image_data/gvo_banner_vid1_grey.h156
-rw-r--r--src/image_data/gvo_banner_vid1_red.h163
-rw-r--r--src/image_data/gvo_banner_vid1_yellow.h163
-rw-r--r--src/image_data/gvo_banner_vid2_green.h146
-rw-r--r--src/image_data/gvo_banner_vid2_grey.h136
-rw-r--r--src/image_data/gvo_banner_vid2_red.h144
-rw-r--r--src/image_data/gvo_banner_vid2_yellow.h144
-rw-r--r--src/libXNVCtrl/NVCtrl.c10
-rw-r--r--src/libXNVCtrl/NVCtrl.h341
-rw-r--r--src/libXNVCtrl/libXNVCtrl.abin5568 -> 5568 bytes
-rw-r--r--src/libXNVCtrlAttributes/NvCtrlAttributes.c54
-rw-r--r--src/libXNVCtrlAttributes/NvCtrlAttributes.h3
35 files changed, 6609 insertions, 27 deletions
diff --git a/doc/FRAMELOCK.txt b/doc/FRAMELOCK.txt
new file mode 100644
index 0000000..3e309e6
--- /dev/null
+++ b/doc/FRAMELOCK.txt
@@ -0,0 +1,62 @@
+
+This is a (very) brief summary of some of things that need to be
+done to write a FrameLock NV-CONTROL client.
+
+Please see the sample NV-CONTROL clients in the "samples" directory
+for basic examples of how to set integer attributes. See the
+file ctkframelock.c for a much more involved example of how the
+nvidia-settings utility programs the FrameLock attributes.
+
+The constants referenced below are defined in NVCtrl.h. Please see the
+comments in that file for an explanation of each attribute. It may
+also be instructive to grep ctkframelock.c to see how each attribute
+is used.
+
+Basic steps:
+
+ - Open a Display connection to each X Screen you want to control
+ in your FrameLock cluster. Please make sure you have
+ priviledges to establish the X connection.
+
+ - Query the NV_CTRL_FRAMELOCK attribute to determine if FrameLock
+ is supported on each X screen.
+
+ - Set NV_CTRL_FRAMELOCK_MASTER to NV_CTRL_FRAMELOCK_MASTER_TRUE on
+ one node in the cluster; set it to NV_CTRL_FRAMELOCK_MASTER_FALSE
+ to every other node in the cluster.
+
+ - Set NV_CTRL_FRAMELOCK_POLARITY for each slave node in the cluster;
+ most likely you want NV_CTRL_FRAMELOCK_POLARITY_RISING_EDGE.
+
+ - Set NV_CTRL_FRAMELOCK_SYNC_DELAY as appropriate for each node.
+ Most likely you want 0.
+
+ - Set NV_CTRL_FRAMELOCK_SYNC_INTERVAL as appropriate if you
+ are using house sync. Most likely, you just want 0.
+
+ - Set NV_CTRL_FRAMELOCK_SYNC to NV_CTRL_FRAMELOCK_SYNC_ENABLE on
+ each X screen to enable FrameLock.
+
+ - (optional) set NV_CTRL_FRAMELOCK_TEST_SIGNAL to
+ NV_CTRL_FRAMELOCK_TEST_SIGNAL_ENABLE followed immediately by
+ NV_CTRL_FRAMELOCK_TEST_SIGNAL_DISABLE. This guarantees
+ accuracy of the Universal Frame Count (as returned by
+ glXQueryFrameCountNV()).
+
+ - When you are done, set NV_CTRL_FRAMELOCK_SYNC to
+ NV_CTRL_FRAMELOCK_SYNC_DISABLE on each X screen to disable FrameLock.
+
+During operation, you can also query any of these on each X screen:
+
+ NV_CTRL_FRAMELOCK_PORT0_STATUS
+ NV_CTRL_FRAMELOCK_PORT1_STATUS
+ NV_CTRL_FRAMELOCK_HOUSE_STATUS
+ NV_CTRL_FRAMELOCK_SYNC_READY
+ NV_CTRL_FRAMELOCK_STEREO_SYNC
+ NV_CTRL_FRAMELOCK_ETHERNET_DETECTED
+ NV_CTRL_FRAMELOCK_SYNC_RATE
+ NV_CTRL_FRAMELOCK_TIMING
+
+(nvidia-settings registers a gtk+ timeout function and queries the
+state of these on each X screen every few seconds).
+
diff --git a/doc/Makefile.inc b/doc/Makefile.inc
index 9f696da..25c525a 100644
--- a/doc/Makefile.inc
+++ b/doc/Makefile.inc
@@ -27,4 +27,5 @@
EXTRA_DIST += \
NV-CONTROL-API.txt \
- nvidia-settings-user-guide.txt \ No newline at end of file
+ FRAMELOCK.txt \
+ nvidia-settings-user-guide.txt
diff --git a/src/gtk+-2.x/Makefile.inc b/src/gtk+-2.x/Makefile.inc
index d9c226e..c649a4c 100644
--- a/src/gtk+-2.x/Makefile.inc
+++ b/src/gtk+-2.x/Makefile.inc
@@ -46,7 +46,9 @@ SRC += \
ctkdisplaydevice-crt.c \
ctkdisplaydevice-tv.c \
ctkdisplaydevice-dfp.c \
- ctkthermal.c
+ ctkthermal.c \
+ ctkgvo.c \
+ ctkdropdownmenu.c
EXTRA_DIST += \
@@ -71,4 +73,7 @@ EXTRA_DIST += \
ctkdisplaydevice-tv.h \
ctkdisplaydevice-dfp.h \
ctkconstants.h \
- ctkthermal.h
+ ctkthermal.h \
+ ctkgvo.h \
+ ctkdropdownmenu.h
+
diff --git a/src/gtk+-2.x/ctkdropdownmenu.c b/src/gtk+-2.x/ctkdropdownmenu.c
new file mode 100644
index 0000000..db46ef9
--- /dev/null
+++ b/src/gtk+-2.x/ctkdropdownmenu.c
@@ -0,0 +1,262 @@
+/*
+ * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix
+ * and Linux systems.
+ *
+ * Copyright (C) 2004 NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of Version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * 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 Version 2
+ * of the GNU 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.
+ * 59 Temple Place - Suite 330
+ * Boston, MA 02111-1307, USA
+ *
+ */
+
+#include <gtk/gtk.h>
+
+#include "ctkdropdownmenu.h"
+
+enum {
+ DROP_DOWN_MENU_CHANGED_SIGNAL,
+ LAST_SIGNAL
+};
+
+static guint __signals[LAST_SIGNAL] = { 0 };
+
+
+static void
+ctk_drop_down_menu_class_init(CtkDropDownMenuClass *ctk_drop_down_menu_class);
+
+static void ctk_drop_down_menu_free(GObject *object);
+
+
+GType ctk_drop_down_menu_get_type(
+ void
+)
+{
+ static GType ctk_drop_down_menu_type = 0;
+
+ if (!ctk_drop_down_menu_type) {
+ static const GTypeInfo ctk_drop_down_menu_info = {
+ sizeof (CtkDropDownMenuClass),
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ (GClassInitFunc) ctk_drop_down_menu_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (CtkDropDownMenu),
+ 0, /* n_preallocs */
+ NULL, /* instance_init */
+ };
+
+ ctk_drop_down_menu_type = g_type_register_static(GTK_TYPE_VBOX,
+ "CtkDropDownMenu", &ctk_drop_down_menu_info, 0);
+ }
+
+ return ctk_drop_down_menu_type;
+}
+
+
+static void
+ctk_drop_down_menu_class_init(CtkDropDownMenuClass *ctk_drop_down_menu_class)
+{
+ GObjectClass *gobject_class;
+
+ gobject_class = (GObjectClass *) ctk_drop_down_menu_class;
+ gobject_class->finalize = ctk_drop_down_menu_free;
+
+ __signals[DROP_DOWN_MENU_CHANGED_SIGNAL] =
+ g_signal_new("changed",
+ G_TYPE_FROM_CLASS(ctk_drop_down_menu_class),
+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
+}
+
+
+
+/*
+ * changed() - emit the "changed" signal
+ */
+
+static void changed(GtkOptionMenu *option_menu, gpointer user_data)
+{
+ CtkDropDownMenu *d = CTK_DROP_DOWN_MENU(user_data);
+
+ g_signal_emit(G_OBJECT(d), __signals[DROP_DOWN_MENU_CHANGED_SIGNAL], 0);
+
+} /* changed() */
+
+
+
+/*
+ * ctk_drop_down_menu_free() - free internal data allocated by the
+ * CtkDropDownMenu
+ */
+
+static void ctk_drop_down_menu_free(GObject *object)
+{
+ CtkDropDownMenu *d;
+
+ d = CTK_DROP_DOWN_MENU(object);
+
+ g_free(d->values);
+
+} /* ctk_drop_down_menu_free() */
+
+
+
+/*
+ * ctk_drop_down_menu_new() - constructor for the CtkDropDownMenu widget
+ */
+
+GtkWidget* ctk_drop_down_menu_new(guint flags)
+{
+ GObject *object;
+ CtkDropDownMenu *d;
+
+ object = g_object_new(CTK_TYPE_DROP_DOWN_MENU, NULL);
+
+ d = CTK_DROP_DOWN_MENU(object);
+
+ d->flags = flags;
+ d->values = NULL;
+ d->num_entries = 0;
+
+ d->menu = gtk_menu_new();
+ d->option_menu = gtk_option_menu_new();
+
+ gtk_box_set_spacing(GTK_BOX(d), 0);
+ gtk_box_pack_start(GTK_BOX(d), d->option_menu, FALSE, FALSE, 0);
+
+ return GTK_WIDGET(d);
+
+} /* ctk_drop_down_menu_new() */
+
+
+
+/*
+ * ctk_drop_down_menu_append_item() - add a new entry to the drop down
+ * menu
+ */
+
+void ctk_drop_down_menu_append_item(CtkDropDownMenu *d,
+ const gchar *name,
+ const gint value)
+{
+ GtkWidget *menu_item, *label, *alignment;
+ gchar *str;
+
+ menu_item = gtk_menu_item_new();
+ gtk_menu_shell_append(GTK_MENU_SHELL(d->menu), menu_item);
+
+ if (d->flags & CTK_DROP_DOWN_MENU_FLAG_MONOSPACE) {
+ str = g_strconcat("<tt><small>", name, "</small></tt>", NULL);
+ label = gtk_label_new(NULL);
+ gtk_label_set_markup(GTK_LABEL(label), str);
+ g_free(str);
+ } else {
+ label = gtk_label_new(name);
+ }
+
+ alignment = gtk_alignment_new(0, 0, 0, 0);
+ gtk_container_add(GTK_CONTAINER(alignment), label);
+ gtk_container_add(GTK_CONTAINER(menu_item), alignment);
+
+ d->values = g_realloc(d->values,
+ sizeof(CtkDropDownMenuValue) * (d->num_entries + 1));
+ d->values[d->num_entries].menu_item = menu_item;
+ d->values[d->num_entries].value = value;
+
+ d->num_entries++;
+
+} /* ctk_drop_down_menu_append_item() */
+
+
+
+/*
+ * ctk_drop_down_menu_finalize() - to be called once all menu entries
+ * have been added.
+ */
+
+void ctk_drop_down_menu_finalize(CtkDropDownMenu *d)
+{
+ gtk_option_menu_set_menu(GTK_OPTION_MENU(d->option_menu), d->menu);
+
+ g_signal_connect(G_OBJECT(d->option_menu), "changed",
+ G_CALLBACK(changed), (gpointer) d);
+
+ gtk_widget_show_all(GTK_WIDGET(d));
+
+} /* ctk_drop_down_menu_finalize() */
+
+
+
+/*
+ * ctk_drop_down_menu_get_current_value() - return the current value
+ * selected in the drop down menu.
+ */
+
+gint ctk_drop_down_menu_get_current_value(CtkDropDownMenu *d)
+{
+ gint i;
+
+ i = gtk_option_menu_get_history(GTK_OPTION_MENU(d->option_menu));
+
+ if (i < d->num_entries) {
+ return d->values[i].value;
+ } else {
+ return 0; /* XXX??? */
+ }
+
+} /* ctk_drop_down_menu_get_current_value() */
+
+
+
+/*
+ * ctk_drop_down_menu_set_current_value() - set the current value in
+ * the menu
+ */
+
+void ctk_drop_down_menu_set_current_value(CtkDropDownMenu *d, gint value)
+{
+ gint i;
+
+ for (i = 0; i < d->num_entries; i++) {
+ if (d->values[i].value == value) {
+ gtk_option_menu_set_history(GTK_OPTION_MENU(d->option_menu), i);
+ return;
+ }
+ }
+} /* ctk_drop_down_menu_set_current_value() */
+
+
+
+/*
+ * ctk_drop_down_menu_set_value_sensitive() - set the specified
+ * value's sensitivity
+ */
+
+void ctk_drop_down_menu_set_value_sensitive(CtkDropDownMenu *d,
+ gint value, gboolean sensitive)
+{
+ gint i;
+
+ for (i = 0; i < d->num_entries; i++) {
+ if (d->values[i].value == value) {
+ gtk_widget_set_sensitive(d->values[i].menu_item, sensitive);
+ return;
+ }
+ }
+} /* ctk_drop_down_menu_set_value_sensitive() */
diff --git a/src/gtk+-2.x/ctkdropdownmenu.h b/src/gtk+-2.x/ctkdropdownmenu.h
new file mode 100644
index 0000000..6d3fa19
--- /dev/null
+++ b/src/gtk+-2.x/ctkdropdownmenu.h
@@ -0,0 +1,101 @@
+/*
+ * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix
+ * and Linux systems.
+ *
+ * Copyright (C) 2004 NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of Version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * 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 Version 2
+ * of the GNU 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.
+ * 59 Temple Place - Suite 330
+ * Boston, MA 02111-1307, USA
+ *
+ */
+
+#ifndef __CTK_DROP_DOWN_MENU_H__
+#define __CTK_DROP_DOWN_MENU_H__
+
+#include "NvCtrlAttributes.h"
+#include "ctkconfig.h"
+
+G_BEGIN_DECLS
+
+#define CTK_TYPE_DROP_DOWN_MENU (ctk_drop_down_menu_get_type())
+
+#define CTK_DROP_DOWN_MENU(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), CTK_TYPE_DROP_DOWN_MENU, \
+ CtkDropDownMenu))
+
+#define CTK_DROP_DOWN_MENU_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), CTK_TYPE_DROP_DOWN_MENU, \
+ CtkDropDownMenuClass))
+
+#define CTK_IS_DROP_DOWN_MENU(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CTK_TYPE_DROP_DOWN_MENU))
+
+#define CTK_IS_DROP_DOWN_MENU_CLASS(class) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), CTK_TYPE_DROP_DOWN_MENU))
+
+#define CTK_DROP_DOWN_MENU_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_DROP_DOWN_MENU, \
+ CtkDropDownMenuClass))
+
+
+#define CTK_DROP_DOWN_MENU_FLAG_MONOSPACE 0x1
+
+
+typedef struct _CtkDropDownMenu CtkDropDownMenu;
+typedef struct _CtkDropDownMenuClass CtkDropDownMenuClass;
+
+typedef struct _CtkDropDownMenuValue CtkDropDownMenuValue;
+
+struct _CtkDropDownMenuValue {
+ GtkWidget *menu_item;
+ gint value;
+};
+
+
+struct _CtkDropDownMenu
+{
+ GtkVBox parent;
+
+ GtkWidget *menu;
+ GtkWidget *option_menu;
+
+ guint flags;
+
+ gint num_entries;
+ CtkDropDownMenuValue *values;
+};
+
+struct _CtkDropDownMenuClass
+{
+ GtkVBoxClass parent_class;
+};
+
+GType ctk_drop_down_menu_get_type (void) G_GNUC_CONST;
+GtkWidget* ctk_drop_down_menu_new (guint flags);
+void ctk_drop_down_menu_append_item (CtkDropDownMenu *d,
+ const gchar *name,
+ const gint value);
+void ctk_drop_down_menu_finalize (CtkDropDownMenu *d);
+gint ctk_drop_down_menu_get_current_value (CtkDropDownMenu *d);
+void ctk_drop_down_menu_set_current_value (CtkDropDownMenu *d,
+ gint value);
+void ctk_drop_down_menu_set_value_sensitive (CtkDropDownMenu *d,
+ gint value,
+ gboolean sensitive);
+
+G_END_DECLS
+
+#endif /* __CTK_DROP_DOWN_MENU_H__*/
diff --git a/src/gtk+-2.x/ctkevent.c b/src/gtk+-2.x/ctkevent.c
index 2503561..f64ecdb 100644
--- a/src/gtk+-2.x/ctkevent.c
+++ b/src/gtk+-2.x/ctkevent.c
@@ -160,6 +160,27 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class)
MAKE_SIGNAL(NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD);
MAKE_SIGNAL(NV_CTRL_GPU_MAX_CORE_THRESHOLD);
MAKE_SIGNAL(NV_CTRL_AMBIENT_TEMPERATURE);
+ MAKE_SIGNAL(NV_CTRL_GVO_SUPPORTED);
+ MAKE_SIGNAL(NV_CTRL_GVO_SYNC_MODE);
+ MAKE_SIGNAL(NV_CTRL_GVO_SYNC_SOURCE);
+ MAKE_SIGNAL(NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT);
+ MAKE_SIGNAL(NV_CTRL_GVO_INPUT_VIDEO_FORMAT);
+ MAKE_SIGNAL(NV_CTRL_GVO_DATA_FORMAT);
+ MAKE_SIGNAL(NV_CTRL_GVO_DISPLAY_X_SCREEN);
+ MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED);
+ MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE);
+ MAKE_SIGNAL(NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED);
+ MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_OUTPUTS);
+ MAKE_SIGNAL(NV_CTRL_GVO_FIRMWARE_VERSION);
+ MAKE_SIGNAL(NV_CTRL_GVO_SYNC_DELAY_PIXELS);
+ MAKE_SIGNAL(NV_CTRL_GVO_SYNC_DELAY_LINES);
+ MAKE_SIGNAL(NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE);
+ MAKE_SIGNAL(NV_CTRL_GVO_GLX_LOCKED);
+ MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_FORMAT_WIDTH);
+ MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT);
+ MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_FORMAT_REFRESH_RATE);
+ MAKE_SIGNAL(NV_CTRL_GVO_X_SCREEN_PAN_X);
+ MAKE_SIGNAL(NV_CTRL_GVO_X_SCREEN_PAN_Y);
#undef MAKE_SIGNAL
@@ -170,7 +191,7 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class)
* knows about.
*/
-#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_AMBIENT_TEMPERATURE
+#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_GVO_X_SCREEN_PAN_Y
#warning "There are attributes that do not emit signals!"
#endif
diff --git a/src/gtk+-2.x/ctkgvo.c b/src/gtk+-2.x/ctkgvo.c
new file mode 100644
index 0000000..9276886
--- /dev/null
+++ b/src/gtk+-2.x/ctkgvo.c
@@ -0,0 +1,1200 @@
+/*
+ * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix
+ * and Linux systems.
+ *
+ * Copyright (C) 2004 NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of Version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * 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 Version 2
+ * of the GNU 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.
+ * 59 Temple Place - Suite 330
+ * Boston, MA 02111-1307, USA
+ *
+ */
+
+#include <gtk/gtk.h>
+
+#include "NvCtrlAttributes.h"
+
+#include "ctkhelp.h"
+#include "ctkgvo.h"
+#include "ctkdropdownmenu.h"
+
+#include "gvo_banner_left.h"
+
+#include "gvo_banner_vid1_green.h"
+#include "gvo_banner_vid1_grey.h"
+#include "gvo_banner_vid1_red.h"
+#include "gvo_banner_vid1_yellow.h"
+
+#include "gvo_banner_vid2_green.h"
+#include "gvo_banner_vid2_grey.h"
+#include "gvo_banner_vid2_red.h"
+#include "gvo_banner_vid2_yellow.h"
+
+#include "gvo_banner_sdi_sync_green.h"
+#include "gvo_banner_sdi_sync_grey.h"
+#include "gvo_banner_sdi_sync_red.h"
+#include "gvo_banner_sdi_sync_yellow.h"
+
+#include "gvo_banner_comp_sync_green.h"
+#include "gvo_banner_comp_sync_grey.h"
+#include "gvo_banner_comp_sync_red.h"
+#include "gvo_banner_comp_sync_yellow.h"
+
+#include "gvo_banner_right.h"
+
+#include "msg.h"
+
+/* local prototypes */
+
+static void init_gvo_banner(CtkGvo *ctk_gvo);
+
+static void pack_gvo_banner(CtkGvo *ctk_gvo);
+
+
+static GtkWidget *start_menu(const gchar *name, GtkWidget *table,
+ const gint row);
+
+static void finish_menu(GtkWidget *menu, GtkWidget *table, const gint row);
+
+
+static void sync_mode_changed(CtkDropDownMenu *menu, gpointer user_data);
+
+static void output_video_format_changed(CtkDropDownMenu *menu,
+ gpointer user_data);
+
+static void output_data_format_changed(CtkDropDownMenu *menu,
+ gpointer user_data);
+
+
+static void update_sync_mode_menu(CtkGvo *ctk_gvo,
+ const gint composite_sync,
+ const gint sdi_sync,
+ const gint current);
+
+static void init_sync_mode_menu(CtkGvo *ctk_gvo);
+
+static void update_output_video_format_menu(CtkGvo *ctk_gvo,
+ const gint current);
+
+static void init_output_video_format_menu(CtkGvo *ctk_gvo);
+
+static void init_output_data_format_menu(CtkGvo *ctk_gvo);
+
+
+static void create_toggle_sdi_output_button(CtkGvo *ctk_gvo);
+
+static void toggle_sdi_output_button(GtkWidget *button, gpointer user_data);
+
+static void sync_format_changed(CtkDropDownMenu *menu, gpointer user_data);
+
+static void
+update_input_video_format_text_entry(CtkGvo *ctk_gvo,
+ const gint input_video_format);
+
+static void init_input_video_format_text_entry(CtkGvo *ctk_gvo);
+
+static void
+input_video_format_detect_button_toggled(GtkToggleButton *togglebutton,
+ CtkGvo *ctk_gvo);
+
+
+GType ctk_gvo_get_type(void)
+{
+ static GType ctk_gvo_type = 0;
+
+ if (!ctk_gvo_type) {
+ static const GTypeInfo ctk_gvo_info = {
+ sizeof (CtkGvoClass),
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ NULL, /* constructor */
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (CtkGvo),
+ 0, /* n_preallocs */
+ NULL, /* instance_init */
+ };
+
+ ctk_gvo_type =
+ g_type_register_static(GTK_TYPE_VBOX, "CtkGvo",
+ &ctk_gvo_info, 0);
+ }
+
+ return ctk_gvo_type;
+
+} /* ctk_gvo_get_type() */
+
+
+
+/*
+ * video format table -- should this be moved into NV-CONTROL?
+ */
+
+typedef struct {
+ int format;
+ const char *name;
+} FormatName;
+
+static const FormatName videoFormatNames[] = {
+ { NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC, "480i 59.94 Hz (SMPTE259) NTSC" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL, "576i 50.00 Hz (SMPTE259) PAL" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_720P_59_94_SMPTE296, "720p 59.94 Hz (SMPTE296)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_720P_60_00_SMPTE296, "720p 60.00 Hz (SMPTE296)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1035I_59_94_SMPTE260, "1035i 59.94 Hz (SMPTE260)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1035I_60_00_SMPTE260, "1035i 60.00 Hz (SMPTE260)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE295, "1080i 50.00 Hz (SMPTE295)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE274, "1080i 50.00 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274, "1080i 59.94 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080I_60_00_SMPTE274, "1080i 60.00 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080P_23_976_SMPTE274, "1080p 23.976 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080P_24_00_SMPTE274, "1080p 24.00 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080P_25_00_SMPTE274, "1080p 25.00 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080P_29_97_SMPTE274, "1080p 29.97 Hz (SMPTE274)" },
+ { NV_CTRL_GVO_VIDEO_FORMAT_1080P_30_00_SMPTE274, "1080p 30.00 Hz (SMPTE274)" },
+ { -1, NULL },
+};
+
+
+static const FormatName dataFormatNames[] = {
+ { NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444, "RGB -> YCrCb (4:4:4)" },
+ { NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB422, "RGB -> YCrCb (4:2:2)" },
+ { NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_RGB444, "RGB (4:4:4)" },
+ { -1, NULL },
+};
+
+
+
+#define TABLE_PADDING 5
+
+
+#define SYNC_FORMAT_SDI 0
+#define SYNC_FORMAT_COMP_AUTO 1
+#define SYNC_FORMAT_COMP_BI_LEVEL 2
+#define SYNC_FORMAT_COMP_TRI_LEVEL 3
+
+
+/*
+ * ctk_gvo_new() - constructor for the CtkGvo widget
+ */
+
+GtkWidget* ctk_gvo_new(NvCtrlAttributeHandle *handle,
+ CtkConfig *ctk_config)
+{
+ GObject *object;
+ CtkGvo *ctk_gvo;
+ GtkWidget *hbox, *alignment, *button;
+ ReturnStatus ret;
+ int val, i, screen_width, screen_height, width, height, n;
+
+ GtkWidget *frame, *table, *menu;
+
+ /* make sure we have a handle */
+
+ g_return_val_if_fail(handle != NULL, NULL);
+
+ /* check if this screen supports GVO */
+
+ ret = NvCtrlGetAttribute(handle, NV_CTRL_GVO_SUPPORTED, &val);
+ if ((ret != NvCtrlSuccess) || (val != NV_CTRL_GVO_SUPPORTED_TRUE)) {
+ /* GVO not available */
+ return NULL;
+ }
+
+ /* create the CtkGvo object */
+
+ object = g_object_new(CTK_TYPE_GVO, NULL);
+
+ /* initialize fields in the CtkGvo object */
+
+ ctk_gvo = CTK_GVO(object);
+ ctk_gvo->handle = handle;
+ ctk_gvo->ctk_config = ctk_config;
+
+ /* set container properties for the CtkGvo widget */
+
+ gtk_box_set_spacing(GTK_BOX(ctk_gvo), 10);
+
+ /* banner */
+
+ hbox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(object), hbox, FALSE, FALSE, 0);
+
+ frame = gtk_frame_new(NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 0);
+
+ gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
+
+ ctk_gvo->banner_table = gtk_table_new(1, 6, FALSE);
+ gtk_table_set_row_spacings(GTK_TABLE(ctk_gvo->banner_table), 0);
+ gtk_table_set_col_spacings(GTK_TABLE(ctk_gvo->banner_table), 0);
+
+ gtk_container_add(GTK_CONTAINER(frame), ctk_gvo->banner_table);
+
+ init_gvo_banner(ctk_gvo);
+ pack_gvo_banner(ctk_gvo);
+
+
+ /*
+ * Output options
+ */
+
+ frame = gtk_frame_new("Output Options");
+
+ gtk_box_pack_start(GTK_BOX(object), frame, FALSE, FALSE, 0);
+
+ table = gtk_table_new(3, 2, FALSE);
+ gtk_table_set_row_spacings(GTK_TABLE(table), 0);
+ gtk_table_set_col_spacings(GTK_TABLE(table), 0);
+
+ gtk_container_add(GTK_CONTAINER(frame), table);
+
+ /* Sync Mode */
+
+ menu = start_menu("Sync Mode: ", table, 0);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "Free Running",
+ NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "GenLock",
+ NV_CTRL_GVO_SYNC_MODE_GENLOCK);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "FrameLock",
+ NV_CTRL_GVO_SYNC_MODE_FRAMELOCK);
+
+ finish_menu(menu, table, 0);
+
+ ctk_gvo->sync_mode_menu = menu;
+
+ init_sync_mode_menu(ctk_gvo);
+
+ g_signal_connect(G_OBJECT(ctk_gvo->sync_mode_menu), "changed",
+ G_CALLBACK(sync_mode_changed), (gpointer) ctk_gvo);
+
+
+ /* Output Video Format */
+
+ menu = start_menu("Output Video Format: ", table, 1);
+
+ screen_width = NvCtrlGetScreenWidth(handle);
+ screen_height = NvCtrlGetScreenHeight(handle);
+
+ n = 0;
+
+ for (i = 0; videoFormatNames[i].name; i++) {
+
+ /* query the width/height needed for the video format */
+
+ NvCtrlGetDisplayAttribute(handle,
+ videoFormatNames[i].format,
+ NV_CTRL_GVO_VIDEO_FORMAT_WIDTH,
+ &width);
+
+ NvCtrlGetDisplayAttribute(handle,
+ videoFormatNames[i].format,
+ NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT,
+ &height);
+
+ if ((width > screen_width) ||
+ (height > screen_height)) {
+
+ nv_warning_msg("Not exposing GVO video format '%s' (this video "
+ "format requires a resolution of atleast %d x %d, "
+ "but the current X screen is %d x %d)",
+ videoFormatNames[i].name,
+ width, height, screen_width, screen_height);
+ continue;
+ }
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu),
+ videoFormatNames[i].name,
+ videoFormatNames[i].format);
+ n++;
+ }
+
+ finish_menu(menu, table, 1);
+
+ if (!n) {
+ nv_warning_msg("No GVO video formats will fit the current X screen of "
+ "%d x %d; please create an X screen of atleast "
+ "720 x 487; not exposing GVO page.\n",
+ screen_width, screen_height);
+ return NULL;
+ }
+
+
+ ctk_gvo->output_video_format_menu = menu;
+
+ init_output_video_format_menu(ctk_gvo);
+
+ g_signal_connect(G_OBJECT(ctk_gvo->output_video_format_menu),
+ "changed", G_CALLBACK(output_video_format_changed),
+ (gpointer) ctk_gvo);
+
+
+ /* Output Data Format */
+
+ menu = start_menu("Output Data Format: ", table, 2);
+
+ for (i = 0; dataFormatNames[i].name; i++) {
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu),
+ dataFormatNames[i].name,
+ dataFormatNames[i].format);
+ }
+
+ finish_menu(menu, table, 2);
+
+ ctk_gvo->output_data_format_menu = menu;
+
+ g_signal_connect(G_OBJECT(ctk_gvo->output_data_format_menu),
+ "changed", G_CALLBACK(output_data_format_changed),
+ (gpointer) ctk_gvo);
+
+ init_output_data_format_menu(ctk_gvo);
+
+
+ /*
+ * Sync options
+ */
+
+ frame = gtk_frame_new("Sync Options");
+
+ gtk_box_pack_start(GTK_BOX(object), frame, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new(FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(frame), hbox);
+
+ /* menu */
+
+ menu = ctk_drop_down_menu_new(0);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "SDI Sync",
+ SYNC_FORMAT_SDI);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "COMP Sync",
+ SYNC_FORMAT_COMP_AUTO);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu),
+ "COMP Sync (Bi-level)",
+ SYNC_FORMAT_COMP_BI_LEVEL);
+
+ ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu),
+ "COMP Sync (Tri-level)",
+ SYNC_FORMAT_COMP_TRI_LEVEL);
+
+ ctk_drop_down_menu_finalize(CTK_DROP_DOWN_MENU(menu));
+
+ gtk_box_pack_start(GTK_BOX(hbox), menu, FALSE, FALSE, TABLE_PADDING);
+
+ ctk_gvo->sync_format_menu = menu;
+
+ /* input type */
+
+ ctk_gvo->input_video_format_text_entry = gtk_entry_new();
+ gtk_box_pack_start(GTK_BOX(hbox), ctk_gvo->input_video_format_text_entry,
+ TRUE, TRUE, TABLE_PADDING);
+ gtk_widget_set_sensitive(ctk_gvo->input_video_format_text_entry, FALSE);
+
+ /* XXX maybe set the text entry to the maximum format name length */
+
+ init_input_video_format_text_entry(ctk_gvo);
+
+ g_signal_connect(G_OBJECT(ctk_gvo->sync_format_menu),
+ "changed", G_CALLBACK(sync_format_changed),
+ (gpointer) ctk_gvo);
+
+ /* detect button */
+
+ button = gtk_toggle_button_new_with_label("Detect");
+
+ gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, TABLE_PADDING);
+
+ ctk_gvo->input_video_format_detect_button = button;
+
+ g_signal_connect(G_OBJECT(button), "toggled",
+ G_CALLBACK(input_video_format_detect_button_toggled),
+ ctk_gvo);
+
+
+ /* "Enable SDI Output" button */
+
+ create_toggle_sdi_output_button(ctk_gvo);
+
+ alignment = gtk_alignment_new(1, 1, 0, 0);
+ gtk_container_add(GTK_CONTAINER(alignment),
+ ctk_gvo->toggle_sdi_output_button);
+
+ gtk_box_pack_start(GTK_BOX(object), alignment, TRUE, TRUE, 0);
+
+ /* show the GVO widget */
+
+ gtk_widget_show_all(GTK_WIDGET(ctk_gvo));
+
+ return GTK_WIDGET(ctk_gvo);
+
+} /* ctk_gvo_new() */
+
+
+
+/**************************************************************************/
+
+
+#define GVO_BANNER_LEFT 0
+#define GVO_BANNER_VID1_GREEN 1
+#define GVO_BANNER_VID1_GREY 2
+#define GVO_BANNER_VID1_RED 3
+#define GVO_BANNER_VID1_YELLOW 4
+#define GVO_BANNER_VID2_GREEN 5
+#define GVO_BANNER_VID2_GREY 6
+#define GVO_BANNER_VID2_RED 7
+#define GVO_BANNER_VID2_YELLOW 8
+#define GVO_BANNER_SDI_SYNC_GREEN 9
+#define GVO_BANNER_SDI_SYNC_GREY 10
+#define GVO_BANNER_SDI_SYNC_RED 11
+#define GVO_BANNER_SDI_SYNC_YELLOW 12
+#define GVO_BANNER_COMP_SYNC_GREEN 13
+#define GVO_BANNER_COMP_SYNC_GREY 14
+#define GVO_BANNER_COMP_SYNC_RED 15
+#define GVO_BANNER_COMP_SYNC_YELLOW 16
+#define GVO_BANNER_RIGHT 17
+
+#define GVO_BANNER_COUNT 18
+
+
+static GtkWidget *__gvo_banner_widget[GVO_BANNER_COUNT];
+
+static const nv_image_t *__gvo_banner_imgs[GVO_BANNER_COUNT] = {
+ &gvo_banner_left_image,
+ &gvo_banner_vid1_green_image,
+ &gvo_banner_vid1_grey_image,
+ &gvo_banner_vid1_red_image,
+ &gvo_banner_vid1_yellow_image,
+ &gvo_banner_vid2_green_image,
+ &gvo_banner_vid2_grey_image,
+ &gvo_banner_vid2_red_image,
+ &gvo_banner_vid2_yellow_image,
+ &gvo_banner_sdi_sync_green_image,
+ &gvo_banner_sdi_sync_grey_image,
+ &gvo_banner_sdi_sync_red_image,
+ &gvo_banner_sdi_sync_yellow_image,
+ &gvo_banner_comp_sync_green_image,
+ &gvo_banner_comp_sync_grey_image,
+ &gvo_banner_comp_sync_red_image,
+ &gvo_banner_comp_sync_yellow_image,
+ &gvo_banner_right_image,
+};
+
+static void init_gvo_banner(CtkGvo *ctk_gvo)
+{
+ int i;
+ const nv_image_t *img;
+ guint8 *image_buffer = NULL;
+
+ for (i = 0; i < GVO_BANNER_COUNT; i++) {
+ img = __gvo_banner_imgs[i];
+
+ image_buffer = decompress_image_data(img);
+
+ __gvo_banner_widget[i] = gtk_image_new_from_pixbuf
+ (gdk_pixbuf_new_from_data(image_buffer, GDK_COLORSPACE_RGB,
+ FALSE, 8, img->width, img->height,
+ img->width * img->bytes_per_pixel,
+ free_decompressed_image, NULL));
+ }
+}
+
+static void pack_gvo_banner_slot(CtkGvo *ctk_gvo, int n,
+ int banner_image_index)
+{
+ GtkWidget *image = __gvo_banner_widget[banner_image_index];
+
+ gtk_table_attach(GTK_TABLE(ctk_gvo->banner_table),
+ image, n, n+1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+}
+
+
+static void pack_gvo_banner(CtkGvo *ctk_gvo)
+{
+ pack_gvo_banner_slot(ctk_gvo, 0, GVO_BANNER_LEFT);
+ pack_gvo_banner_slot(ctk_gvo, 1, GVO_BANNER_VID1_RED);
+ pack_gvo_banner_slot(ctk_gvo, 2, GVO_BANNER_VID2_GREY);
+ pack_gvo_banner_slot(ctk_gvo, 3, GVO_BANNER_SDI_SYNC_GREEN);
+ pack_gvo_banner_slot(ctk_gvo, 4, GVO_BANNER_COMP_SYNC_YELLOW);
+ pack_gvo_banner_slot(ctk_gvo, 5, GVO_BANNER_RIGHT);
+}
+
+
+
+/**************************************************************************/
+
+
+
+static GtkWidget *start_menu(const gchar *name, GtkWidget *table,
+ const gint row)
+{
+ GtkWidget *menu, *label, *alignment;
+
+ label = gtk_label_new(name);
+ alignment = gtk_alignment_new(0, 0, 0, 0);
+ gtk_container_add(GTK_CONTAINER(alignment), label);
+
+ gtk_table_attach(GTK_TABLE(table),
+ alignment, 0, 1, row, row+1, GTK_FILL, GTK_FILL,
+ TABLE_PADDING, TABLE_PADDING);
+
+ menu = ctk_drop_down_menu_new(CTK_DROP_DOWN_MENU_FLAG_MONOSPACE);
+
+ return menu;
+}
+
+
+static void finish_menu(GtkWidget *menu, GtkWidget *table, const gint row)
+{
+ ctk_drop_down_menu_finalize(CTK_DROP_DOWN_MENU(menu));
+
+ gtk_table_attach(GTK_TABLE(table), menu, 1, 2, row, row+1,
+ GTK_FILL | GTK_EXPAND, GTK_FILL,
+ TABLE_PADDING, TABLE_PADDING);
+}
+
+
+/**************************************************************************/
+
+
+
+static void sync_mode_changed(CtkDropDownMenu *menu, gpointer user_data)
+{
+ CtkGvo *ctk_gvo = CTK_GVO(user_data);
+ gint value;
+
+ value = ctk_drop_down_menu_get_current_value(menu);
+
+ /* XXX confirm that the value is valid */
+
+ //printf("%s(): %d\n", __FUNCTION__, value);
+
+
+ NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_MODE, value);
+
+ /* XXX statusbar */
+
+ /* XXX update the output video format menu */
+}
+
+static void output_video_format_changed(CtkDropDownMenu *menu,
+ gpointer user_data)
+{
+ CtkGvo *ctk_gvo = CTK_GVO(user_data);
+ gint value;
+
+ value = ctk_drop_down_menu_get_current_value(menu);
+
+ /* XXX confirm that the value is valid */
+
+ //printf("%s(): %d\n", __FUNCTION__, value);
+
+ NvCtrlSetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT, value);
+
+ /* XXX statusbar */
+}
+
+static void output_data_format_changed(CtkDropDownMenu *menu,
+ gpointer user_data)
+{
+ CtkGvo *ctk_gvo = CTK_GVO(user_data);
+ gint value;
+
+ value = ctk_drop_down_menu_get_current_value(menu);
+
+ /* XXX confirm that the value is valid */
+
+ //printf("%s(): %d\n", __FUNCTION__, value);
+
+
+ NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_DATA_FORMAT, value);
+
+ /* XXX statusbar */
+}
+
+
+
+
+/**************************************************************************/
+
+
+
+static gboolean update_status(gpointer user_data)
+{
+ //CtkGvo *ctk_gvo = CTK_GVO(user_data);
+
+
+ return TRUE;
+}
+
+
+
+/*
+ * update_sync_mode_menu() - given the COMPOSITE_SYNC and SDI_SYNC
+ * values, set the sensitivity of each entry in sync_mode_menu.
+ */
+
+static void update_sync_mode_menu(CtkGvo *ctk_gvo,
+ const gint composite_sync,
+ const gint sdi_sync,
+ const gint current)
+{
+ gboolean sensitive;
+
+ if ((composite_sync == NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE) &&
+ (sdi_sync == NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_NONE)) {
+
+ /* no external sync detected; do not expose GenLock or FrameLock */
+ sensitive = FALSE;
+
+ } else {
+
+ /* external sync detected; expose GenLock amd FrameLock */
+ sensitive = TRUE;
+ }
+
+ /* set the sensitivity for GenLock and FrameLock */
+
+ ctk_drop_down_menu_set_value_sensitive
+ (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu),
+ NV_CTRL_GVO_SYNC_MODE_GENLOCK, sensitive);
+
+ ctk_drop_down_menu_set_value_sensitive
+ (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu),
+ NV_CTRL_GVO_SYNC_MODE_FRAMELOCK, sensitive);
+
+ /*
+ * if the current SYNC_MODE is not FREE_RUNNING, but other modes
+ * are not available, then we need to change the current setting
+ * to FREE_RUNNING
+ */
+
+ if ((current != NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING) && !sensitive) {
+
+ NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_MODE,
+ NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING);
+
+ ctk_drop_down_menu_set_current_value
+ (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu),
+ NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING);
+ }
+
+} /* update_sync_mode_menu() */
+
+
+
+/*
+ * init_sync_mode_menu() - initialize the sync mode menu: set the
+ * currently active menu selection and set the sensitivity of the
+ * menu entries.
+ */
+
+static void init_sync_mode_menu(CtkGvo *ctk_gvo)
+{
+ ReturnStatus ret;
+ gint val, comp, sdi;
+
+ /* get the current mode */
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_MODE, &val);
+ if (ret != NvCtrlSuccess) {
+ val = NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING;
+ }
+
+ /* set the current mode in the menu */
+
+ ctk_drop_down_menu_set_current_value
+ (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu), val);
+
+ /* query COMPOSITE_SYNC_INPUT_DETECTED */
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED, &comp);
+ if (ret != NvCtrlSuccess) {
+ comp = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE;
+ }
+
+ /* query SDI_SYNC_INPUT_DETECTED */
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED, &sdi);
+ if (ret != NvCtrlSuccess) {
+ sdi = NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED;
+ }
+
+ /* update the menu */
+
+ update_sync_mode_menu(ctk_gvo, comp, sdi, val);
+
+} /* init_sync_mode_menu() */
+
+
+
+/*
+ * update_output_video_format_menu() - given the current
+ * OUTPUT_VIDEO_FORMAT, set the sensitivity of each menu entry and
+ * possibly update which entry is current.
+ */
+
+static void update_output_video_format_menu(CtkGvo *ctk_gvo,
+ const gint current)
+{
+ ReturnStatus ret;
+ NVCTRLAttributeValidValuesRec valid;
+ gint bitmask, i;
+ gboolean sensitive, current_not_available = FALSE;
+
+ /* retrieve the currently available values */
+
+ ret = NvCtrlGetValidAttributeValues(ctk_gvo->handle,
+ NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT,
+ &valid);
+
+ /* if we failed to get the available values; assume none are valid */
+
+ if ((ret != NvCtrlSuccess) || (valid.type != ATTRIBUTE_TYPE_INT_BITS)) {
+ bitmask = 0;
+ } else {
+ bitmask = valid.u.bits.ints;
+ }
+
+ /*
+ * loop over each video format; if that format is set in the
+ * bitmask, then it is available
+ */
+
+ for (i = 0; videoFormatNames[i].name; i++) {
+ if ((1 << videoFormatNames[i].format) & bitmask) {
+ sensitive = TRUE;
+ } else {
+ sensitive = FALSE;
+ }
+
+ ctk_drop_down_menu_set_value_sensitive
+ (CTK_DROP_DOWN_MENU(ctk_gvo->output_video_format_menu),
+ videoFormatNames[i].format, sensitive);
+
+ /* if the current video is not sensitive, take note */
+
+ if ((current == videoFormatNames[i].format) && !sensitive) {
+ current_not_available = TRUE;
+ }
+ }
+
+ /*
+ * if the current video is not available, then make the first
+ * available format current
+ */
+
+ if (current_not_available && bitmask) {
+ for (i = 0; videoFormatNames[i].name; i++) {
+ if ((1 << videoFormatNames[i].format) & bitmask) {
+
+ NvCtrlSetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT,
+ videoFormatNames[i].format);
+
+ ctk_drop_down_menu_set_current_value
+ (CTK_DROP_DOWN_MENU(ctk_gvo->output_video_format_menu),
+ videoFormatNames[i].format);
+
+ break;
+ }
+ }
+ }
+} /* update_output_video_format_menu() */
+
+
+
+/*
+ * init_output_video_format_menu() - initialize the output video
+ * format menu: set the currently active menu entry and update the
+ * sensitivity of all entries.
+ */
+
+static void init_output_video_format_menu(CtkGvo *ctk_gvo)
+{
+ gint val;
+ ReturnStatus ret;
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT, &val);
+ if (ret != NvCtrlSuccess) {
+ val = NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC;
+ }
+
+ ctk_drop_down_menu_set_current_value
+ (CTK_DROP_DOWN_MENU(ctk_gvo->output_video_format_menu), val);
+
+ update_output_video_format_menu(ctk_gvo, val);
+
+} /* init_output_video_format_menu() */
+
+
+
+/*
+ * init_output_data_format_menu() - initialize the output data format
+ * menu: make sure the current value is available in the list that we
+ * expose, and set the currently active menu entry.
+ */
+
+static void init_output_data_format_menu(CtkGvo *ctk_gvo)
+{
+ gint current, i;
+ ReturnStatus ret;
+ gboolean found;
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle, NV_CTRL_GVO_DATA_FORMAT,
+ &current);
+
+ if (ret != NvCtrlSuccess) {
+ current = NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444;
+ }
+
+ /*
+ * is this value in the list that we expose? if not, then pick the
+ * first value that is in the list
+ */
+
+ for (i = 0, found = FALSE; dataFormatNames[i].name; i++) {
+ if (current == dataFormatNames[i].format) {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found) {
+ current = dataFormatNames[0].format;
+
+ /* make this value current */
+
+ NvCtrlSetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_DATA_FORMAT, current);
+ }
+
+ /* update the menu */
+
+ ctk_drop_down_menu_set_current_value
+ (CTK_DROP_DOWN_MENU(ctk_gvo->output_data_format_menu), current);
+
+} /* init_output_data_format_menu() */
+
+
+
+
+/**************************************************************************/
+
+
+
+/*
+ * create_toggle_sdi_output_button() -
+ */
+
+static void create_toggle_sdi_output_button(CtkGvo *ctk_gvo)
+{
+ GtkWidget *label;
+ GtkWidget *hbox, *hbox2;
+ GdkPixbuf *pixbuf;
+ GtkWidget *image = NULL;
+ GtkWidget *button;
+
+ button = gtk_toggle_button_new();
+
+ /* create the Enable SDI Output icon */
+
+ pixbuf = gtk_widget_render_icon(button,
+ GTK_STOCK_EXECUTE,
+ GTK_ICON_SIZE_BUTTON,
+ "Enable SDI Output");
+ if (pixbuf) image = gtk_image_new_from_pixbuf(pixbuf);
+ label = gtk_label_new("Enable SDI Output");
+
+ hbox = gtk_hbox_new(FALSE, 2);
+
+ if (image) gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+
+ hbox2 = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox2), hbox, FALSE, FALSE, 15);
+
+ gtk_widget_show_all(hbox2);
+
+ /*
+ * XXX increment the reference count, so that when we do
+ * gtk_container_remove() later, it doesn't get destroyed
+ */
+
+ gtk_object_ref(GTK_OBJECT(hbox2));
+
+ ctk_gvo->enable_sdi_output_label = hbox2;
+
+
+ /* create the Disable SDI Output icon */
+
+ pixbuf = gtk_widget_render_icon(button,
+ GTK_STOCK_STOP,
+ GTK_ICON_SIZE_BUTTON,
+ "Disable SDI Output");
+ if (pixbuf) image = gtk_image_new_from_pixbuf(pixbuf);
+ label = gtk_label_new("Disable SDI Output");
+
+ hbox = gtk_hbox_new(FALSE, 2);
+
+ if (image) gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+
+ hbox2 = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox2), hbox, FALSE, FALSE, 15);
+
+ gtk_widget_show_all(hbox2);
+
+ /*
+ * XXX increment the reference count, so that when we do
+ * gtk_container_remove() later, it doesn't get destroyed
+ */
+
+ gtk_object_ref(GTK_OBJECT(hbox2));
+
+ ctk_gvo->disable_sdi_output_label = hbox2;
+
+ /* start with SDI Output disabled */
+
+ gtk_container_add(GTK_CONTAINER(button), ctk_gvo->enable_sdi_output_label);
+
+
+ ctk_gvo->toggle_sdi_output_button = button;
+
+ g_signal_connect(G_OBJECT(button), "toggled",
+ G_CALLBACK(toggle_sdi_output_button),
+ GTK_OBJECT(ctk_gvo));
+
+} /* create_toggle_sdi_output_button() */
+
+
+
+/*
+ * toggle_sdi_output_button() -
+ */
+
+static void toggle_sdi_output_button(GtkWidget *button, gpointer user_data)
+{
+ CtkGvo *ctk_gvo = CTK_GVO(user_data);
+ gboolean enabled;
+ ReturnStatus ret;
+ gint val, val2;
+
+ enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
+
+ if (enabled) val = NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE;
+ else val = NV_CTRL_GVO_DISPLAY_X_SCREEN_DISABLE;
+
+ NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_DISPLAY_X_SCREEN, val);
+
+ /*
+ * XXX NV_CTRL_GVO_DISPLAY_X_SCREEN can silently fail if GLX
+ * locked GVO output for use by pbuffer(s). Check that the
+ * setting actually stuck.
+ */
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_DISPLAY_X_SCREEN, &val2);
+
+ if ((ret != NvCtrlSuccess) || (val != val2)) {
+
+ /*
+ * setting did not apply; restore the button to its previous
+ * state
+ */
+
+ g_signal_handlers_block_matched
+ (G_OBJECT(button), G_SIGNAL_MATCH_FUNC, 0, 0, NULL,
+ G_CALLBACK(toggle_sdi_output_button), NULL);
+
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), !enabled);
+
+ g_signal_handlers_unblock_matched
+ (G_OBJECT(button), G_SIGNAL_MATCH_FUNC, 0, 0, NULL,
+ G_CALLBACK(toggle_sdi_output_button), NULL);
+
+ // XXX update the status bar; maybe pop up a dialog box?
+
+ return;
+ }
+
+ if (enabled) {
+ gtk_container_remove(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button),
+ ctk_gvo->enable_sdi_output_label);
+
+ gtk_container_add(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button),
+ ctk_gvo->disable_sdi_output_label);
+ } else {
+ gtk_container_remove(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button),
+ ctk_gvo->disable_sdi_output_label);
+
+ gtk_container_add(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button),
+ ctk_gvo->enable_sdi_output_label);
+ }
+
+ gtk_widget_set_sensitive(ctk_gvo->sync_mode_menu, !enabled);
+ gtk_widget_set_sensitive(ctk_gvo->output_video_format_menu, !enabled);
+ gtk_widget_set_sensitive(ctk_gvo->output_data_format_menu, !enabled);
+
+
+ // XXX set sensitivity
+
+ // status bar
+
+} /* toggle_sdi_output_button() */
+
+
+
+/*
+ * sync_format_changed() -
+ */
+
+static void sync_format_changed(CtkDropDownMenu *menu, gpointer user_data)
+{
+ CtkGvo *ctk_gvo = CTK_GVO(user_data);
+ gint value, sync_source, mode;
+
+ value = ctk_drop_down_menu_get_current_value(menu);
+
+ switch (value) {
+ case SYNC_FORMAT_SDI:
+ sync_source = NV_CTRL_GVO_SYNC_SOURCE_SDI;
+ mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO;
+ break;
+ case SYNC_FORMAT_COMP_AUTO:
+ sync_source = NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE;
+ mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO;
+ break;
+ case SYNC_FORMAT_COMP_BI_LEVEL:
+ sync_source = NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE;
+ mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_BI_LEVEL;
+ break;
+ case SYNC_FORMAT_COMP_TRI_LEVEL:
+ sync_source = NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE;
+ mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_TRI_LEVEL;
+ break;
+ default:
+ return;
+ }
+
+ NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_SOURCE, sync_source);
+ NvCtrlSetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE, mode);
+
+} /* sync_format_changed() */
+
+
+
+/*
+ * update_input_video_format_text_entry() -
+ */
+
+static void update_input_video_format_text_entry(CtkGvo *ctk_gvo,
+ const gint input_video_format)
+{
+ gint i;
+ const gchar *str = "No Signal Detected";
+
+ for (i = 0; videoFormatNames[i].name; i++) {
+ if (videoFormatNames[i].format == input_video_format) {
+ str = videoFormatNames[i].name;
+ }
+ }
+
+ gtk_entry_set_text(GTK_ENTRY(ctk_gvo->input_video_format_text_entry), str);
+
+} /* update_input_video_format_text_entry() */
+
+
+
+/*
+ * init_input_video_format_text_entry() -
+ */
+
+static void init_input_video_format_text_entry(CtkGvo *ctk_gvo)
+{
+ ReturnStatus ret;
+ gint val;
+
+ ret = NvCtrlGetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_INPUT_VIDEO_FORMAT, &val);
+ if (ret != NvCtrlSuccess) {
+ val = NV_CTRL_GVO_VIDEO_FORMAT_NONE;
+ }
+
+ update_input_video_format_text_entry(ctk_gvo, val);
+
+} /* init_input_video_format_text_entry() */
+
+
+
+/*
+ * input_video_format_detect_button_toggled() -
+ */
+
+static void
+input_video_format_detect_button_toggled(GtkToggleButton *togglebutton,
+ CtkGvo *ctk_gvo)
+{
+ if (gtk_toggle_button_get_active(togglebutton)) {
+
+ /* XXX need to make the other widgets insensitive */
+
+ NvCtrlSetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE,
+ NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_TRUE);
+
+ /*
+ * need to register a timer to automatically turn this off for
+ * 2 seconds
+ */
+
+ } else {
+
+ /* XXX need to make the other widgets sensitive */
+
+ NvCtrlSetAttribute(ctk_gvo->handle,
+ NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE,
+ NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE);
+ }
+} /* input_video_format_detect_button_toggled() */
+
+
+/**************************************************************************/
+
+
+
+GtkTextBuffer* ctk_gvo_create_help (GtkTextTagTable *table)
+{
+ GtkTextIter i;
+ GtkTextBuffer *b;
+
+ b = gtk_text_buffer_new(table);
+
+ gtk_text_buffer_get_iter_at_offset(b, &i, 0);
+
+ ctk_help_title(b, &i, "GVO (Graphics to Video Out)");
+
+ ctk_help_finish(b);
+
+ return b;
+}
diff --git a/src/gtk+-2.x/ctkgvo.h b/src/gtk+-2.x/ctkgvo.h
new file mode 100644
index 0000000..8079b75
--- /dev/null
+++ b/src/gtk+-2.x/ctkgvo.h
@@ -0,0 +1,89 @@
+/*
+ * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix
+ * and Linux systems.
+ *
+ * Copyright (C) 2004 NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of Version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * 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 Version 2
+ * of the GNU 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.
+ * 59 Temple Place - Suite 330
+ * Boston, MA 02111-1307, USA
+ *
+ */
+
+#ifndef __CTK_GVO_H__
+#define __CTK_GVO_H__
+
+#include "NvCtrlAttributes.h"
+#include "ctkconfig.h"
+
+G_BEGIN_DECLS
+
+#define CTK_TYPE_GVO (ctk_gvo_get_type())
+
+#define CTK_GVO(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), CTK_TYPE_GVO, CtkGvo))
+
+#define CTK_GVO_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), CTK_TYPE_GVO, CtkGvoClass))
+
+#define CTK_IS_GVO(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CTK_TYPE_GVO))
+
+#define CTK_IS_GVO_CLASS(class) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), CTK_TYPE_GVO))
+
+#define CTK_GVO_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_GVO, CtkGvoClass))
+
+
+typedef struct _CtkGvo CtkGvo;
+typedef struct _CtkGvoClass CtkGvoClass;
+
+
+struct _CtkGvo
+{
+ GtkVBox parent;
+
+ NvCtrlAttributeHandle *handle;
+ CtkConfig *ctk_config;
+ GtkWidget *banner_table;
+
+ GtkWidget *sync_mode_menu;
+ GtkWidget *output_video_format_menu;
+ GtkWidget *output_data_format_menu;
+
+ GtkWidget *enable_sdi_output_label;
+ GtkWidget *disable_sdi_output_label;
+ GtkWidget *toggle_sdi_output_button;
+
+ GtkWidget *sync_format_menu;
+ GtkWidget *input_video_format_text_entry;
+ GtkWidget *input_video_format_detect_button;
+
+ gint input_video_format_detect_timer;
+};
+
+struct _CtkGvoClass
+{
+ GtkVBoxClass parent_class;
+};
+
+GType ctk_gvo_get_type (void) G_GNUC_CONST;
+GtkWidget* ctk_gvo_new (NvCtrlAttributeHandle *, CtkConfig *);
+GtkTextBuffer* ctk_gvo_create_help (GtkTextTagTable *);
+
+G_END_DECLS
+
+#endif /* __CTK_GVO_H__*/
diff --git a/src/gtk+-2.x/ctkmultisample.c b/src/gtk+-2.x/ctkmultisample.c
index dda1ca9..1d749af 100644
--- a/src/gtk+-2.x/ctkmultisample.c
+++ b/src/gtk+-2.x/ctkmultisample.c
@@ -37,12 +37,13 @@
/* local prototypes */
-static gint build_fsaa_translation_table(CtkMultisample *ctk_multisample,
+static void build_fsaa_translation_table(CtkMultisample *ctk_multisample,
NVCTRLAttributeValidValuesRec valid);
static int map_nv_ctrl_fsaa_value_to_slider(CtkMultisample *ctk_multisample,
int value);
+
static gchar *format_fsaa_value(GtkScale *scale, gdouble arg1,
gpointer user_data);
@@ -140,7 +141,7 @@ static const char *__texture_sharpening_help =
#define __FSAA_4x_9t (1 << (__FSAA + NV_CTRL_FSAA_MODE_4x_9t))
#define __FSAA_8x (1 << (__FSAA + NV_CTRL_FSAA_MODE_8x))
#define __FSAA_16x (1 << (__FSAA + NV_CTRL_FSAA_MODE_16x))
-
+#define __FSAA_8xS (1 << (__FSAA + NV_CTRL_FSAA_MODE_8xS))
#define FRAME_PADDING 5
@@ -191,7 +192,7 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle,
guint8 *image_buffer = NULL;
const nv_image_t *img;
- gint val, app_control, override, n, i;
+ gint val, app_control, override, i;
NVCTRLAttributeValidValuesRec valid;
@@ -234,12 +235,10 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle,
if (ret == NvCtrlSuccess) {
- n = build_fsaa_translation_table(ctk_multisample, valid);
+ build_fsaa_translation_table(ctk_multisample, valid);
- ctk_multisample->fsaa_translation_table_size = n;
-
ret = NvCtrlGetAttribute(handle, NV_CTRL_FSAA_MODE, &val);
-
+
val = map_nv_ctrl_fsaa_value_to_slider(ctk_multisample, val);
ret0 = NvCtrlGetAttribute(handle,
@@ -254,7 +253,8 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle,
override = !app_control;
- if ((ret == NvCtrlSuccess) && (ret0 == NvCtrlSuccess) && (n > 1)) {
+ if ((ret == NvCtrlSuccess) && (ret0 == NvCtrlSuccess) &&
+ (ctk_multisample->fsaa_translation_table_size > 1)) {
/* create "Antialiasing Settings" frame */
@@ -294,7 +294,8 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle,
/* Antialiasing scale */
- scale = gtk_hscale_new_with_range(0, n - 1, 1);
+ scale = gtk_hscale_new_with_range
+ (0, ctk_multisample->fsaa_translation_table_size - 1, 1);
gtk_range_set_value(GTK_RANGE(scale), val);
gtk_scale_set_draw_value(GTK_SCALE(scale), TRUE);
@@ -323,7 +324,7 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle,
gtk_widget_set_sensitive(GTK_WIDGET(ctk_multisample->fsaa_scale),
override);
- for (i = 0; i < n; i++)
+ for (i = 0; i < ctk_multisample->fsaa_translation_table_size; i++)
ctk_multisample->active_attributes |=
(1 << (__FSAA+ctk_multisample->fsaa_translation_table[i]));
}
@@ -489,27 +490,52 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle,
* FSAA_MODE attribute, scan through the bits.ints field (which has
* bits set to indicate which integer attributes are valid for the
* attribute), assigning fsaa_translation_table[] as appropriate.
+ * fsaa_translation_table[] will map from slider value to
+ * NV_CTRL_FSAA_MODE value.
*/
-static gint build_fsaa_translation_table(CtkMultisample *ctk_multisample,
+static void build_fsaa_translation_table(CtkMultisample *ctk_multisample,
NVCTRLAttributeValidValuesRec valid)
{
gint i, n = 0;
+ gint index_8xs = -1;
+ gint index_16x = -1;
gint mask = valid.u.bits.ints;
+ ctk_multisample->fsaa_translation_table_size = 0;
+
memset(ctk_multisample->fsaa_translation_table, 0,
- sizeof(gint) * (NV_CTRL_FSAA_MODE_16x + 1));
+ sizeof(gint) * (NV_CTRL_FSAA_MODE_MAX + 1));
- if (valid.type != ATTRIBUTE_TYPE_INT_BITS) return 0;
+ if (valid.type != ATTRIBUTE_TYPE_INT_BITS) return;
- for (i = 0; i < (NV_CTRL_FSAA_MODE_16x + 1); i++) {
+ for (i = 0; i <= NV_CTRL_FSAA_MODE_MAX; i++) {
if (mask & (1 << i)) {
ctk_multisample->fsaa_translation_table[n] = i;
+
+ /* index_8xs and index_16x are needed below */
+
+ if (i == NV_CTRL_FSAA_MODE_8xS) index_8xs = n;
+ if (i == NV_CTRL_FSAA_MODE_16x) index_16x = n;
+
n++;
}
}
- return n;
+ /*
+ * XXX 8xS was added to the NV_CTRL_FSAA_MODE list after 16x, but
+ * should appear before it in the slider. If both were added to
+ * the fsaa_translation_table[], then swap their positions.
+ */
+
+ if ((index_8xs != -1) && (index_16x != -1)) {
+ ctk_multisample->fsaa_translation_table[index_8xs] =
+ NV_CTRL_FSAA_MODE_16x;
+ ctk_multisample->fsaa_translation_table[index_16x] =
+ NV_CTRL_FSAA_MODE_8xS;
+ }
+
+ ctk_multisample->fsaa_translation_table_size = n;
} /* build_fsaa_translation_table() */
@@ -552,7 +578,7 @@ static gchar *format_fsaa_value(GtkScale *scale, gdouble arg1,
ctk_multisample = CTK_MULTISAMPLE(user_data);
val = arg1;
- if (val > NV_CTRL_FSAA_MODE_16x) val = NV_CTRL_FSAA_MODE_16x;
+ if (val > NV_CTRL_FSAA_MODE_MAX) val = NV_CTRL_FSAA_MODE_MAX;
if (val < 0) val = 0;
val = ctk_multisample->fsaa_translation_table[val];
@@ -579,11 +605,12 @@ static const gchar *get_multisample_mode_name(gint multisample_mode)
"4x Bilinear", /* FSAA_MODE_4x */
"4x, 9-tap Gaussian", /* FSAA_MODE_4x_9t */
"8x", /* FSAA_MODE_8x */
- "16x" /* FSAA_MODE_16x */
+ "16x", /* FSAA_MODE_16x */
+ "8xS" /* FSAA_MODE_8xS */
};
if ((multisample_mode < NV_CTRL_FSAA_MODE_NONE) ||
- (multisample_mode > NV_CTRL_FSAA_MODE_16x)) {
+ (multisample_mode > NV_CTRL_FSAA_MODE_MAX)) {
return "Unknown Multisampling";
}
@@ -702,7 +729,7 @@ static void fsaa_value_changed(GtkRange *range, gpointer user_data)
ctk_multisample = CTK_MULTISAMPLE(user_data);
val = gtk_range_get_value(range);
- if (val > NV_CTRL_FSAA_MODE_16x) val = NV_CTRL_FSAA_MODE_16x;
+ if (val > NV_CTRL_FSAA_MODE_MAX) val = NV_CTRL_FSAA_MODE_MAX;
if (val < 0) val = 0;
val = ctk_multisample->fsaa_translation_table[val];
@@ -1116,6 +1143,14 @@ GtkTextBuffer *ctk_multisample_create_help(GtkTextTagTable *table,
"the 4x mode.");
}
+ if (ctk_multisample->active_attributes & __FSAA_8xS) {
+ ctk_help_term(b, &i, "8xS");
+ ctk_help_para(b, &i, "This enables antialiasing using the 8xS "
+ "mode. This mode offers better image quality than "
+ "the 4x mode; 8xS is only available on Geforce "
+ "(non-Quadro) FX or better GPUs.");
+ }
+
if (ctk_multisample->active_attributes & __FSAA_16x) {
ctk_help_term(b, &i, "16x");
ctk_help_para(b, &i, "This enables antialiasing using the 16x "
diff --git a/src/gtk+-2.x/ctkmultisample.h b/src/gtk+-2.x/ctkmultisample.h
index fd1fde0..069f1a9 100644
--- a/src/gtk+-2.x/ctkmultisample.h
+++ b/src/gtk+-2.x/ctkmultisample.h
@@ -67,7 +67,7 @@ struct _CtkMultisample
guint active_attributes;
- gint fsaa_translation_table[NV_CTRL_FSAA_MODE_16x + 1];
+ gint fsaa_translation_table[NV_CTRL_FSAA_MODE_MAX + 1];
gint fsaa_translation_table_size;
};
diff --git a/src/gtk+-2.x/ctkwindow.c b/src/gtk+-2.x/ctkwindow.c
index 3780358..c148537 100644
--- a/src/gtk+-2.x/ctkwindow.c
+++ b/src/gtk+-2.x/ctkwindow.c
@@ -36,6 +36,7 @@
#include "ctkwindow.h"
#include "ctkframelock.h"
+#include "ctkgvo.h"
#include "ctkconfig.h"
#include "ctkdevice.h"
@@ -560,6 +561,15 @@ GtkWidget *ctk_window_new(NvCtrlAttributeHandle **handles, gint num_handles,
add_page(child, help, ctk_window, &iter, "Thermal Monitor", NULL);
}
+ /* gvo (Graphics To Video Out) */
+
+ child = ctk_gvo_new(handles[i], ctk_config);
+ if (child) {
+ help = ctk_gvo_create_help(tag_table);
+ add_page(child, help, ctk_window, &iter,
+ "Graphics to Video Out", NULL);
+ }
+
/* display devices */
child = ctk_display_device_new(handles[i], ctk_config, ctk_event);
diff --git a/src/image_data/Makefile.inc b/src/image_data/Makefile.inc
index 4a626cb..9446967 100644
--- a/src/image_data/Makefile.inc
+++ b/src/image_data/Makefile.inc
@@ -48,4 +48,22 @@ EXTRA_DIST += \
cursor_banner.h \
crt.h \
tv.h \
- dfp.h
+ dfp.h \
+ gvo_banner_comp_sync_green.h \
+ gvo_banner_comp_sync_grey.h \
+ gvo_banner_comp_sync_red.h \
+ gvo_banner_comp_sync_yellow.h \
+ gvo_banner_left.h \
+ gvo_banner_right.h \
+ gvo_banner_sdi_sync_green.h \
+ gvo_banner_sdi_sync_grey.h \
+ gvo_banner_sdi_sync_red.h \
+ gvo_banner_sdi_sync_yellow.h \
+ gvo_banner_vid1_green.h \
+ gvo_banner_vid1_grey.h \
+ gvo_banner_vid1_red.h \
+ gvo_banner_vid1_yellow.h \
+ gvo_banner_vid2_green.h \
+ gvo_banner_vid2_grey.h \
+ gvo_banner_vid2_red.h \
+ gvo_banner_vid2_yellow.h
diff --git a/src/image_data/gvo_banner_comp_sync_green.h b/src/image_data/gvo_banner_comp_sync_green.h
new file mode 100644
index 0000000..7f63e4c
--- /dev/null
+++ b/src/image_data/gvo_banner_comp_sync_green.h
@@ -0,0 +1,188 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_comp_sync_green_image = {
+ 34, 60, 3,
+ "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321"
+ "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374"
+ "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370"
+ "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364"
+ "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205"
+ "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361"
+ "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355"
+ "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363"
+ "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362"
+ "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356"
+ "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353"
+ "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362"
+ "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203"
+ "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355"
+ "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362"
+ "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360"
+ "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2"
+ "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1"
+ "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321"
+ "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357"
+ "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20"
+ "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373"
+ "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375"
+ "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0"
+ "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0"
+ "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20"
+ "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364"
+ "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371"
+ "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376"
+ "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351"
+ "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360"
+ "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376"
+ "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352"
+ "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351"
+ "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360"
+ "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20"
+ "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372"
+ "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374"
+ "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361"
+ "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600"
+ "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21"
+ "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347"
+ "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360"
+ "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317"
+ "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314"
+ "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376"
+ "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203"
+ "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367"
+ "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375"
+ "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354"
+ "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346"
+ "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360"
+ "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354"
+ "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351"
+ "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350"
+ "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345"
+ "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206"
+ "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350"
+ "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344"
+ "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341"
+ "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321"
+ "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?"
+ "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344"
+ "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340"
+ "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0"
+ "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370"
+ "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275"
+ "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340"
+ "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354"
+ "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312"
+ "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376"
+ "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346"
+ "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343"
+ "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355"
+ "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\375\376\375\347\350\351"
+ "\36\37\37""232non\373\374\374\345\346\350\0\0\0\375\376\375\343\344\346\0"
+ "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340"
+ "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341"
+ "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20"
+ "\20\36\37\36\234\236\235\373\375\372\343\346\346x{y\0\0\0\365\370\366\357"
+ "\362\360\341\344\344\0\0\0\372\375\372\340\343\343\0\0\0\375\376\374\225"
+ "\226\227\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342"
+ "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354"
+ "\202\352\352\354\13\351\351\353\363\364\364\372\374\372\371\374\371\367\372"
+ "\367\353\356\355\343\346\345x{z?C?\371\375\371\341\344\344\202\340\343\343"
+ "\11\371\375\371\337\342\342\336\341\341\372\375\372\336\340\342\352\353\354"
+ "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334"
+ "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353"
+ "\202\351\351\353\12\345\347\347\344\347\346\343\346\346\343\346\345\342\345"
+ "\345\341\345\344384\237\244\240\360\366\361\337\344\341\202\336\343\340\202"
+ "\335\342\340\5\335\340\341\335\340\340\334\337\340\335\337\337\336\337\342"
+ "\202\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334\340\333\333"
+ "\340\202\332\332\337\202\352\352\354\202\351\351\353\22\350\350\353\347\350"
+ "\351\343\346\346\343\346\345\342\345\345\341\345\344\340\345\342\337\345"
+ "\342\336\344\341\362\370\362\346\353\351\336\343\340\335\342\340\335\342"
+ "\337\334\341\337\334\341\336\333\340\336\333\340\337\202\333\336\337\6\334"
+ "\336\340\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340\202"
+ "\332\332\337\202\331\331\336\202\351\351\353\1\350\350\353\202\350\350\352"
+ "\4\344\346\346\343\346\345\342\345\345\341\345\343\202\337\345\342\11\336"
+ "\344\341\252\257\253LLL\16\16\16\35\35\35---<<<\200\200\200\273\301\276\202"
+ "\332\337\335\10\331\336\335\332\335\336\332\334\335\333\334\340\334\334\340"
+ "\333\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\1\351"
+ "\351\353\202\350\350\352\6\347\347\352\346\347\350\343\345\345\342\345\344"
+ "\341\344\344\340\345\342\202\336\344\341\4jjj\0\0\0\5\5\5\2\2\2\202\0\0\0"
+ "\12\4\4\4\"\"\"]]]\246\246\247\331\336\334\330\335\333\331\335\335\330\333"
+ "\334\331\333\336\333\333\340\202\332\332\337\12\331\331\336\330\330\336\330"
+ "\330\335\327\327\334\326\326\334\350\350\352\347\347\352\347\347\351\346"
+ "\346\351\345\346\350\202\341\344\344\10\337\343\342\336\344\341\336\343\340"
+ "[[[\0\0\0\1\13\1\0M\0\0\217\0\202\0\230\0\5\0\217\0\0M\0\7\7\7ooo\277\277"
+ "\277\202\327\334\333\3\327\332\334\330\332\335\332\332\337\202\331\331\336"
+ "\5\330\330\335\327\327\335\327\327\334\326\326\334\325\325\333\202\347\347"
+ "\351\"\346\346\351\346\346\350\344\345\347\341\344\343\340\343\343\337\344"
+ "\341\336\343\340\250\255\252\0\0\0\1\13\1\0}\0\0\230\0q\312o\243\341\237"
+ "\212\326\207`\303^1\2560\0}\0\11\11\11\222\222\222\316\323\320\326\333\332"
+ "\326\332\333\327\330\333\331\331\336\330\330\335\327\327\335\327\327\334"
+ "\326\326\334\326\326\333\325\325\333\324\324\332\346\346\351\346\346\350"
+ "\202\345\345\350\12\343\344\346\340\343\343\337\342\342\336\343\340\335\342"
+ "\337LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345\376\340\17\306\360\302\225"
+ "\333\222d\305b2\2561\0M\0DDD\324\324\324\324\332\331\325\331\331\325\327"
+ "\332\330\330\335\327\327\334\326\326\334\326\326\333\325\325\333\202\324"
+ "\324\332\1\323\323\331\202\345\345\350\202\344\344\347\33\342\343\345\337"
+ "\342\342\336\341\342\335\342\337\334\341\337\16\16\16\2\2\2\0\217\0B\265"
+ "A\243\341\237\334\372\327\341\374\334\310\361\304\243\341\237y\316vK\271"
+ "I\32\232\31\14\14\14\325\325\325\324\331\331\324\330\330\324\326\332\327"
+ "\327\334\326\326\333\325\325\333\325\325\332\324\324\332\202\323\323\331"
+ "\1\322\322\330\202\344\344\347\30\343\343\347\343\343\346\341\342\345\336"
+ "\341\341\335\340\341\334\341\336\333\340\336\35\35\35\0\0\0\0\230\0R\274"
+ "P\225\333\222\273\353\267\303\357\277\265\351\261\232\335\227y\316vR\274"
+ "P(\252'\0\0\0\344\344\344\323\330\330\323\327\330\323\325\331\202\325\325"
+ "\333\1\324\324\332\202\323\323\331\4\322\322\330\321\321\330\321\321\327"
+ "\344\344\347\202\343\343\346\27\342\342\345\340\341\344\335\340\340\334\337"
+ "\340\333\340\336\332\337\335---\0\0\0\0\230\0I\270G}\317z\232\335\226\243"
+ "\341\237\233\335\230\210\325\205n\311kM\272K(\252'\0\0\0\364\364\364\322"
+ "\327\327\322\326\327\322\324\330\202\324\324\332\7\323\323\331\322\322\331"
+ "\322\322\330\321\321\327\320\320\327\317\317\326\343\343\346\202\342\342"
+ "\345>\341\341\345\337\340\343\334\337\340\333\336\337\332\337\335\331\336"
+ "\334<<<\4\4\4\0\217\0""5\2604`\302^y\316v\202\322\200\177\320|q\312o\\\301"
+ "Z@\264?\36\234\35\16\16\16\376\376\376\321\326\326\320\324\326\321\323\327"
+ "\323\323\331\322\322\331\322\322\330\321\321\330\320\320\327\320\320\326"
+ "\317\317\326\316\316\325\342\342\345\341\341\345\341\341\344\340\340\344"
+ "\337\340\342\333\336\337\332\335\336\331\336\335\330\335\334\177\177\177"
+ "\"\"\"\0M\0\34\244\33A\265?W\277Ua\303_`\303^V\276TE\267D.\254-\11Q\11__"
+ "_\372\372\372\320\325\325\317\323\325\321\322\326\322\322\330\321\321\330"
+ "\321\321\327\320\320\327\317\317\326\202\316\316\325\35\315\315\324\341\341"
+ "\344\340\340\344\340\340\343\337\337\343\336\337\342\332\335\336\331\334"
+ "\336\331\335\334\327\334\333\270\276\273]]]\7\7\7\0}\0!\247\40""6\2604@\264"
+ "?A\265@:\2629,\253+\24\205\24\17\17\17\336\336\336\331\336\335\317\324\324"
+ "\316\321\324\317\321\326\321\321\327\320\320\327\202\317\317\326\1\316\316"
+ "\325\202\315\315\324\2\314\314\323\340\340\344\202\337\337\343\40\336\336"
+ "\342\335\336\341\332\334\336\330\333\335\330\333\334\326\333\333\326\334"
+ "\332\256\256\256ooo\11\11\11\0M\0\23\227\22\36\245\36!\247\40\32\232\31\11"
+ "P\10\17\17\17\316\316\316\367\367\370\316\323\324\316\322\324\315\320\323"
+ "\317\320\326\320\320\326\317\317\326\316\316\325\315\315\325\315\315\324"
+ "\314\314\323\313\313\323\313\313\322\337\337\343\202\336\336\342\202\335"
+ "\335\341\12\333\334\336\327\332\334\327\332\333\326\332\332\325\333\331\324"
+ "\332\331\276\276\277\222\222\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336"
+ "\336\336\367\367\370\316\323\323\315\322\323\314\317\323\315\317\323\317"
+ "\317\326\202\316\316\325%\315\315\324\314\314\324\313\313\323\313\313\322"
+ "\312\312\322\311\311\321\336\336\342\335\335\342\335\335\341\334\334\341"
+ "\334\334\340\332\333\337\327\331\334\326\331\333\325\330\332\324\330\331"
+ "\324\331\330\323\330\330\313\320\316\323\323\323\325\325\325\344\344\344"
+ "\364\364\364\376\376\376\371\371\372\330\335\334\315\322\323\315\322\322"
+ "\314\320\323\313\316\322\316\317\325\316\316\325\315\315\324\314\314\324"
+ "\314\314\323\313\313\323\312\312\322\202\311\311\321\5\310\310\320\335\335"
+ "\341\334\334\341\334\334\340\333\333\340\202\332\332\337\6\330\331\335\326"
+ "\330\332\324\327\331\323\326\331\323\327\330\322\326\327\202\321\326\326"
+ "\202\320\325\325\5\317\324\324\316\323\323\315\322\323\315\322\322\314\320"
+ "\323\202\313\316\322\5\314\316\323\315\315\325\315\315\324\314\314\323\313"
+ "\313\323\202\312\312\322\7\311\311\321\310\310\320\307\307\320\307\307\317"
+ "\333\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\31\326"
+ "\327\333\324\326\332\323\325\327\321\324\327\320\323\326\320\324\326\317"
+ "\323\325\316\322\325\316\322\324\315\321\324\314\320\323\314\320\322\313"
+ "\316\322\312\315\321\313\315\322\314\315\323\314\314\324\313\313\323\313"
+ "\313\322\312\312\322\311\311\321\310\310\321\310\310\320\307\307\317\306"
+ "\306\317\202\305\305\316\202\223\223\224\1\224\224\224\202\224\224\225\202"
+ "\225\225\226\202\226\226\226\1\225\226\226\202\225\227\225\2\225\226\224"
+ "\224\226\224\204\225\227\225\3\226\227\225\225\227\226\226\227\226\205\227"
+ "\227\227\202\226\226\227\203\226\226\226\202\225\225\226\1\224\224\226\242"
+ "\232\320\25\242\230\317\25\242\227\317\24\242\242\323-\242\235\317*\242\230"
+ "\311&\242\222\302$\242\214\273!\242\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_comp_sync_grey.h b/src/image_data/gvo_banner_comp_sync_grey.h
new file mode 100644
index 0000000..801a796
--- /dev/null
+++ b/src/image_data/gvo_banner_comp_sync_grey.h
@@ -0,0 +1,186 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_comp_sync_grey_image = {
+ 34, 60, 3,
+ "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321"
+ "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374"
+ "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370"
+ "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364"
+ "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205"
+ "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361"
+ "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355"
+ "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363"
+ "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362"
+ "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356"
+ "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353"
+ "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362"
+ "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203"
+ "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355"
+ "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362"
+ "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360"
+ "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2"
+ "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1"
+ "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321"
+ "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357"
+ "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20"
+ "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373"
+ "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375"
+ "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0"
+ "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0"
+ "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20"
+ "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364"
+ "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371"
+ "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376"
+ "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351"
+ "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360"
+ "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376"
+ "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352"
+ "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351"
+ "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360"
+ "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20"
+ "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372"
+ "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374"
+ "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361"
+ "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600"
+ "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21"
+ "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347"
+ "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360"
+ "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317"
+ "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314"
+ "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376"
+ "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203"
+ "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367"
+ "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375"
+ "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354"
+ "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346"
+ "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360"
+ "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354"
+ "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351"
+ "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350"
+ "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345"
+ "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206"
+ "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350"
+ "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344"
+ "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341"
+ "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321"
+ "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?"
+ "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344"
+ "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340"
+ "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0"
+ "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370"
+ "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275"
+ "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340"
+ "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354"
+ "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312"
+ "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376"
+ "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346"
+ "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343"
+ "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355"
+ "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\376\376\376\350\350\352"
+ "\37\37\40""333ooo\374\374\375\346\346\351\0\0\0\376\376\376\344\344\347\0"
+ "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340"
+ "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341"
+ "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20"
+ "\20\37\37\37\237\237\240\376\376\376\347\347\352||}\0\0\0\371\371\372\363"
+ "\363\364\345\345\350\0\0\0\376\376\376\344\344\347\0\0\0\376\376\376\226"
+ "\226\230\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342"
+ "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354"
+ "\202\352\352\354\2\351\351\353\364\364\365\202\375\375\375\7\373\373\373"
+ "\357\357\361\347\347\351{{}AAA\376\376\376\345\345\350\202\344\344\347\11"
+ "\376\376\376\343\343\346\342\342\345\376\376\376\341\341\345\353\353\355"
+ "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334"
+ "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353"
+ "\202\351\351\353\202\350\350\352\2\347\347\352\347\347\351\202\346\346\351"
+ "\4../\240\240\241\367\367\370\344\344\347\202\343\343\346\7\342\342\346\342"
+ "\342\345\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343\202"
+ "\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340"
+ "\202\332\332\337\202\352\352\354\202\351\351\353\4\350\350\353\350\350\352"
+ "\347\347\352\347\347\351\202\346\346\351\202\345\345\350\10\344\344\347\371"
+ "\371\371\354\354\357\343\343\346\342\342\346\342\342\345\341\341\345\341"
+ "\341\344\202\340\340\344\202\337\337\343\6\336\336\342\335\335\342\335\335"
+ "\341\334\334\341\334\334\340\333\333\340\202\332\332\337\202\331\331\336"
+ "\202\351\351\353\1\350\350\353\202\350\350\352\202\347\347\351\2\346\346"
+ "\351\346\346\350\202\345\345\350\11\344\344\347\253\253\255HHI\16\16\16\35"
+ "\35\35---<<<||}\276\276\301\202\337\337\343\202\336\336\342\6\335\335\341"
+ "\334\334\341\334\334\340\333\333\340\333\333\337\332\332\337\202\331\331"
+ "\336\202\330\330\335\1\351\351\353\202\350\350\352\4\347\347\352\347\347"
+ "\351\346\346\351\346\346\350\202\345\345\350\202\344\344\347\4eeg\0\0\0\5"
+ "\5\5\2\2\2\202\0\0\0\5\4\4\4\"\"\"]]]\243\243\245\336\336\342\202\335\335"
+ "\341\1\334\334\340\202\333\333\340\202\332\332\337\10\331\331\336\330\330"
+ "\336\330\330\335\327\327\334\326\326\334\350\350\352\347\347\352\347\347"
+ "\351\202\346\346\351\202\345\345\350\202\344\344\347\6\343\343\346VVX\0\0"
+ "\0\11\11\11;;;ooo\202ttt\10ooo;;;\7\7\7ooo\274\274\275\334\334\341\334\334"
+ "\340\333\333\340\202\332\332\337\202\331\331\336\5\330\330\335\327\327\335"
+ "\327\327\334\326\326\334\325\325\333\202\347\347\351\4\346\346\351\346\346"
+ "\350\345\345\350\345\345\347\202\344\344\347\21\343\343\346\251\251\254\0"
+ "\0\0\11\11\11aaasss\244\260\241\272\313\267\257\275\254\234\246\232\207\214"
+ "\206aaa\11\11\11\222\222\222\322\322\325\333\333\337\332\332\337\202\331"
+ "\331\336\11\330\330\335\327\327\335\327\327\334\326\326\334\326\326\333\325"
+ "\325\333\324\324\332\346\346\351\346\346\350\202\345\345\350\202\344\344"
+ "\347\202\343\343\346\6\342\342\345HHI\5\5\5;;;sss\253\271\250\202\327\357"
+ "\322\7\311\337\305\264\304\261\236\251\234\210\215\207;;;DDD\322\322\323"
+ "\202\331\331\336\202\330\330\335\4\327\327\334\326\326\334\326\326\333\325"
+ "\325\333\202\324\324\332\1\323\323\331\202\345\345\350\202\344\344\347\202"
+ "\343\343\346\31\342\342\346\342\342\345\341\341\345\16\16\16\2\2\2ooo\217"
+ "\226\215\272\313\267\323\352\316\325\355\320\312\340\306\272\313\267\247"
+ "\264\244\223\233\221{~z\14\14\14\325\325\325\330\330\336\330\330\335\327"
+ "\327\335\327\327\334\326\326\333\325\325\333\325\325\332\324\324\332\202"
+ "\323\323\331\1\322\322\330\202\344\344\347\30\343\343\347\343\343\346\342"
+ "\342\346\342\342\345\341\341\345\341\341\344\340\340\344\35\35\35\0\0\0t"
+ "tt\226\237\224\264\304\261\304\331\300\310\335\303\302\325\276\267\307\263"
+ "\247\264\245\226\237\224\205\211\204\0\0\0\344\344\344\327\327\335\327\327"
+ "\334\326\326\334\202\325\325\333\1\324\324\332\202\323\323\331\4\322\322"
+ "\330\321\321\330\321\321\327\344\344\347\202\343\343\346\3\342\342\345\341"
+ "\341\345\341\341\344\202\340\340\344\22\337\337\343---\0\0\0ttt\222\232\220"
+ "\251\267\246\266\306\263\272\313\267\267\307\264\256\274\253\242\256\240"
+ "\223\234\222\205\211\204\0\0\0\364\364\364\326\326\334\326\326\333\325\325"
+ "\333\202\324\324\332\7\323\323\331\322\322\331\322\322\330\321\321\327\320"
+ "\320\327\317\317\326\343\343\346\202\342\342\345\1\341\341\345\202\340\340"
+ "\344\202\337\337\343\20\336\336\342<<<\4\4\4ooo\211\217\210\234\246\232\247"
+ "\264\245\254\272\251\252\270\247\244\260\241\232\244\230\216\225\214|\177"
+ "|\16\16\16\376\376\376\325\325\333\202\324\324\332\16\323\323\331\322\322"
+ "\331\322\322\330\321\321\330\320\320\327\320\320\326\317\317\326\316\316"
+ "\325\342\342\345\341\341\345\341\341\344\340\340\344\340\340\343\337\337"
+ "\343\202\336\336\342\20\335\335\342}}~\"\"\";;;\177\201~\216\225\215\230"
+ "\242\226\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205?@?_"
+ "__\372\372\372\324\324\332\202\323\323\331\5\322\322\330\321\321\330\321"
+ "\321\327\320\320\327\317\317\326\202\316\316\325\4\315\315\324\341\341\344"
+ "\340\340\344\340\340\343\202\337\337\343\27\336\336\342\335\335\342\335\335"
+ "\341\334\334\341\273\273\276]]]\7\7\7aaa\200\203\200\211\217\210\216\225"
+ "\214\216\225\215\213\221\212\205\211\204jki\17\17\17\336\336\336\336\336"
+ "\343\323\323\331\322\322\330\321\321\330\321\321\327\320\320\327\202\317"
+ "\317\326\1\316\316\325\202\315\315\324\2\314\314\323\340\340\344\202\337"
+ "\337\343\202\336\336\342\36\335\335\341\334\334\341\334\334\340\333\333\340"
+ "\333\333\337\254\254\255ooo\11\11\11;;;wyv\201\204\200\202\205\201z}z>?>"
+ "\17\17\17\316\316\316\371\371\371\322\322\331\322\322\330\321\321\327\320"
+ "\320\327\320\320\326\317\317\326\316\316\325\315\315\325\315\315\324\314"
+ "\314\323\313\313\323\313\313\322\337\337\343\202\336\336\342\202\335\335"
+ "\341\12\334\334\340\333\333\340\333\333\337\332\332\337\332\332\336\331\331"
+ "\336\275\275\276\222\222\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336\336"
+ "\336\371\371\371\322\322\330\321\321\330\320\320\327\320\320\326\317\317"
+ "\326\202\316\316\325\14\315\315\324\314\314\324\313\313\323\313\313\322\312"
+ "\312\322\311\311\321\336\336\342\335\335\342\335\335\341\334\334\341\334"
+ "\334\340\333\333\340\202\332\332\337\17\331\331\336\330\330\336\330\330\335"
+ "\327\327\335\317\317\322\323\323\324\325\325\325\344\344\344\364\364\364"
+ "\376\376\376\373\373\373\335\335\342\321\321\330\321\321\327\320\320\327"
+ "\202\317\317\326\6\316\316\325\315\315\324\314\314\324\314\314\323\313\313"
+ "\323\312\312\322\202\311\311\321\5\310\310\320\335\335\341\334\334\341\334"
+ "\334\340\333\333\340\202\332\332\337\202\331\331\336\4\330\330\335\327\327"
+ "\335\327\327\334\326\326\334\202\325\325\333\202\324\324\332\5\323\323\331"
+ "\322\322\330\321\321\330\321\321\327\320\320\327\202\317\317\326\5\316\316"
+ "\325\315\315\325\315\315\324\314\314\323\313\313\323\202\312\312\322\7\311"
+ "\311\321\310\310\320\307\307\320\307\307\317\333\333\340\333\333\337\332"
+ "\332\337\202\331\331\336\202\330\330\335\4\327\327\334\326\326\334\326\326"
+ "\333\325\325\333\202\324\324\332\7\323\323\331\322\322\331\322\322\330\321"
+ "\321\330\320\320\327\320\320\326\317\317\326\202\316\316\325\12\315\315\324"
+ "\314\314\324\313\313\323\313\313\322\312\312\322\311\311\321\310\310\321"
+ "\310\310\320\307\307\317\306\306\317\202\305\305\316\202\223\223\224\1\224"
+ "\224\224\202\224\224\225\202\225\225\226\202\226\226\226\1\226\226\227\204"
+ "\227\227\227\205\230\230\230\1\227\227\230\206\227\227\227\202\226\226\227"
+ "\203\226\226\226\202\225\225\226\1\224\224\226\242\232\320\25\242\230\317"
+ "\25\242\227\317\24\242\242\323-\242\235\317*\242\230\311&\242\222\302$\242"
+ "\214\273!\242\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_comp_sync_red.h b/src/image_data/gvo_banner_comp_sync_red.h
new file mode 100644
index 0000000..c92087b
--- /dev/null
+++ b/src/image_data/gvo_banner_comp_sync_red.h
@@ -0,0 +1,188 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_comp_sync_red_image = {
+ 34, 60, 3,
+ "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321"
+ "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374"
+ "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370"
+ "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364"
+ "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205"
+ "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361"
+ "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355"
+ "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363"
+ "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362"
+ "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356"
+ "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353"
+ "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362"
+ "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203"
+ "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355"
+ "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362"
+ "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360"
+ "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2"
+ "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1"
+ "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321"
+ "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357"
+ "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20"
+ "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373"
+ "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375"
+ "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0"
+ "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0"
+ "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20"
+ "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364"
+ "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371"
+ "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376"
+ "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351"
+ "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360"
+ "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376"
+ "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352"
+ "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351"
+ "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360"
+ "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20"
+ "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372"
+ "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374"
+ "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361"
+ "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600"
+ "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21"
+ "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347"
+ "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360"
+ "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317"
+ "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314"
+ "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376"
+ "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203"
+ "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367"
+ "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375"
+ "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354"
+ "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346"
+ "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360"
+ "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354"
+ "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351"
+ "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350"
+ "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345"
+ "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206"
+ "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350"
+ "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344"
+ "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341"
+ "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321"
+ "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?"
+ "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344"
+ "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340"
+ "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0"
+ "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370"
+ "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275"
+ "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340"
+ "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354"
+ "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312"
+ "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376"
+ "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346"
+ "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343"
+ "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355"
+ "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\376\376\376\350\350\352"
+ "\37\36\37""322onn\374\373\374\346\345\350\0\0\0\376\375\375\344\344\347\0"
+ "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340"
+ "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341"
+ "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20"
+ "\20\37\36\36\237\236\237\376\374\374\347\345\350|z{\0\0\0\371\367\370\363"
+ "\361\362\345\343\346\0\0\0\376\374\374\344\342\345\0\0\0\376\375\375\226"
+ "\226\230\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342"
+ "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354"
+ "\202\352\352\354\13\351\351\353\364\364\365\375\374\374\375\373\373\373\371"
+ "\371\357\355\357\347\345\347|z|DBB\376\374\374\345\343\346\202\344\342\345"
+ "\11\376\374\374\343\341\344\342\340\343\376\374\374\341\340\344\353\352\354"
+ "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334"
+ "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353"
+ "\202\351\351\353\12\350\347\351\350\346\350\347\345\350\347\345\347\346\344"
+ "\347\347\344\347:67\246\243\244\367\364\365\345\343\345\202\345\342\344\7"
+ "\344\341\344\343\341\343\342\337\343\341\337\342\340\336\342\340\336\341"
+ "\337\337\343\202\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334"
+ "\340\333\333\340\202\332\332\337\202\352\352\354\202\351\351\353\16\350\350"
+ "\353\350\347\351\347\345\350\347\345\347\346\344\347\347\344\347\346\343"
+ "\346\347\343\346\346\343\345\371\366\366\355\352\354\345\342\344\344\341"
+ "\344\344\341\343\202\343\340\343\2\342\337\343\341\337\342\202\337\335\341"
+ "\6\336\335\341\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340"
+ "\202\332\332\337\202\331\331\336\202\351\351\353\1\350\350\353\202\350\350"
+ "\352\4\347\346\350\347\345\347\346\344\347\347\344\346\202\347\343\346\11"
+ "\346\343\345\261\255\257GGH\16\16\16\35\35\35---<<<yy{\302\277\302\202\341"
+ "\336\342\10\337\335\341\336\334\340\335\333\337\334\334\341\334\334\340\333"
+ "\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\1\351\351"
+ "\353\202\350\350\352\6\347\347\352\347\347\351\346\344\347\346\344\346\345"
+ "\343\346\346\343\346\202\346\343\345\4cce\0\0\0\5\5\5\2\2\2\202\0\0\0\12"
+ "\4\4\4\"\"\"]]]\237\237\240\340\335\341\337\334\340\336\334\337\334\332\336"
+ "\333\332\337\333\333\340\202\332\332\337\10\331\331\336\330\330\336\330\330"
+ "\335\327\327\334\326\326\334\350\350\352\347\347\352\347\347\351\202\346"
+ "\346\351\202\345\343\346\10\345\342\345\346\343\345\345\342\344UUV\0\0\0"
+ "\21\1\1\200\0\0\357\0\0\202\376\0\0\12\357\0\0\200\0\0\7\7\7ooo\265\265\267"
+ "\336\333\340\336\333\337\333\331\336\332\331\336\332\332\337\202\331\331"
+ "\336\5\330\330\335\327\327\335\327\327\334\326\326\334\325\325\333\202\347"
+ "\347\351\"\346\346\351\346\346\350\345\344\347\345\343\345\344\342\345\345"
+ "\342\345\345\342\344\257\254\256\0\0\0\21\1\1\317\0\0\376\0\0\376\230\230"
+ "\376\315\315\376\264\264\376\203\203\376GG\317\0\0\11\11\11\222\222\222\325"
+ "\322\324\335\332\336\333\331\336\331\330\335\331\331\336\330\330\335\327"
+ "\327\335\327\327\334\326\326\334\326\326\333\325\325\333\324\324\332\346"
+ "\346\351\346\346\350\202\345\345\350\12\344\343\346\344\342\345\343\341\344"
+ "\345\342\344\344\341\343FFG\5\5\5\200\0\0\376\0\0\376\252\252\202\376\376"
+ "\376\17\376\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314\314\316"
+ "\334\330\335\332\330\335\330\327\334\330\330\335\327\327\334\326\326\334"
+ "\326\326\333\325\325\333\202\324\324\332\1\323\323\331\202\345\345\350\202"
+ "\344\344\347\33\343\342\345\343\341\344\342\340\344\344\341\343\343\340\343"
+ "\16\16\16\2\2\2\357\0\0\376^^\376\314\314\376\367\367\376\372\372\376\353"
+ "\353\376\314\314\376\240\240\376jj\357''\14\14\14\325\325\325\333\327\335"
+ "\331\327\334\327\326\334\327\327\334\326\326\333\325\325\333\325\325\332"
+ "\324\324\332\202\323\323\331\1\322\322\330\202\344\344\347\30\343\343\347"
+ "\343\343\346\342\341\345\342\340\343\341\337\343\343\340\343\342\337\343"
+ "\35\35\35\0\0\0\376\0\0\376rr\376\300\300\376\342\342\376\350\350\376\335"
+ "\335\376\305\305\376\240\240\376rr\376::\0\0\0\344\344\344\332\326\334\330"
+ "\326\333\326\325\333\202\325\325\333\1\324\324\332\202\323\323\331\4\322"
+ "\322\330\321\321\330\321\321\327\344\344\347\202\343\343\346\27\342\342\345"
+ "\341\340\344\341\337\342\340\336\342\342\337\343\341\336\342---\0\0\0\376"
+ "\0\0\376gg\376\245\245\376\304\304\376\314\314\376\305\305\376\262\262\376"
+ "\223\223\376ll\376::\0\0\0\364\364\364\331\325\333\327\325\332\325\324\332"
+ "\202\324\324\332\7\323\323\331\322\322\331\322\322\330\321\321\327\320\320"
+ "\327\317\317\326\343\343\346\202\342\342\345>\341\341\345\340\337\343\340"
+ "\336\342\337\335\341\341\336\342\340\335\341<<<\4\4\4\357\0\0\376LL\376\203"
+ "\203\376\240\240\376\253\253\376\247\247\376\230\230\376\177\177\376[[\357"
+ ",,\16\16\16\376\376\376\330\324\332\325\323\331\324\323\331\323\323\331\322"
+ "\322\331\322\322\330\321\321\330\320\320\327\320\320\326\317\317\326\316"
+ "\316\325\342\342\345\341\341\345\341\341\344\340\340\344\340\337\342\337"
+ "\335\341\336\334\340\340\335\341\337\334\341yyz\"\"\"\200\0\0\376))\376\\"
+ "\\\376yy\376\205\205\376\203\203\376xx\376bb\376CC\200\16\16___\361\361\363"
+ "\327\324\331\324\322\330\323\322\330\322\322\330\321\321\330\321\321\327"
+ "\320\320\327\317\317\326\202\316\316\325\4\315\315\324\341\341\344\340\340"
+ "\344\340\340\343\202\337\337\343\27\336\334\340\335\333\340\336\334\340\336"
+ "\333\340\300\274\277]]]\7\7\7\317\0\0\37600\376MM\376[[\376\\\\\376SS\376"
+ "@@\317\35\35\17\17\17\336\336\336\340\335\342\326\322\330\323\321\327\321"
+ "\320\327\321\321\327\320\320\327\202\317\317\326\1\316\316\325\202\315\315"
+ "\324\2\314\314\323\340\340\344\202\337\337\343\202\336\336\342\36\335\334"
+ "\340\334\332\337\335\333\336\335\332\337\336\332\336\243\243\245ooo\11\11"
+ "\11\200\0\0\357\33\33\376--\37600\357''\200\15\15\17\17\17\316\316\316\353"
+ "\353\356\325\322\330\323\321\327\321\317\325\320\317\326\320\320\326\317"
+ "\317\326\316\316\325\315\315\325\315\315\324\314\314\323\313\313\323\313"
+ "\313\322\337\337\343\202\336\336\342\202\335\335\341\12\334\333\337\333\331"
+ "\336\333\331\335\333\331\336\335\331\335\334\330\335\263\263\265\222\222"
+ "\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336\336\336\353\353\356\325\322"
+ "\327\324\320\327\321\317\326\320\317\325\317\317\326\202\316\316\325%\315"
+ "\315\324\314\314\324\313\313\323\313\313\322\312\312\322\311\311\321\336"
+ "\336\342\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340\332"
+ "\331\336\332\330\335\331\330\334\332\327\335\333\327\334\332\326\334\322"
+ "\317\322\313\313\315\325\325\325\344\344\344\364\364\364\376\376\376\361"
+ "\361\363\337\334\341\324\321\327\324\320\326\321\317\326\317\315\324\317"
+ "\316\325\316\316\325\315\315\324\314\314\324\314\314\323\313\313\323\312"
+ "\312\322\202\311\311\321\5\310\310\320\335\335\341\334\334\341\334\334\340"
+ "\333\333\340\202\332\332\337\6\331\330\335\331\327\334\330\326\333\327\325"
+ "\333\330\326\333\330\325\333\202\330\324\332\202\327\324\331\14\326\323\330"
+ "\325\322\327\324\321\327\324\321\326\322\317\326\320\316\325\317\315\324"
+ "\316\315\324\315\315\325\315\315\324\314\314\323\313\313\323\202\312\312"
+ "\322\7\311\311\321\310\310\320\307\307\320\307\307\317\333\333\340\333\333"
+ "\337\332\332\337\202\331\331\336\202\330\330\335\31\327\327\334\326\325\333"
+ "\326\324\331\325\323\331\324\323\330\325\323\331\324\322\330\323\321\330"
+ "\323\321\327\322\320\327\321\317\326\321\317\325\320\316\325\316\314\323"
+ "\316\315\324\315\314\323\314\314\324\313\313\323\313\313\322\312\312\322"
+ "\311\311\321\310\310\321\310\310\320\307\307\317\306\306\317\202\305\305"
+ "\316\202\223\223\224\1\224\224\224\202\224\224\225\202\225\225\226\202\226"
+ "\226\226\1\226\226\227\204\227\226\226\205\230\227\227\2\227\226\227\227"
+ "\226\226\205\227\227\227\202\226\226\227\203\226\226\226\202\225\225\226"
+ "\1\224\224\226\242\232\320\25\242\230\317\25\242\227\317\24\242\242\323-"
+ "\242\235\317*\242\230\311&\242\222\302$\242\214\273!\242\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_comp_sync_yellow.h b/src/image_data/gvo_banner_comp_sync_yellow.h
new file mode 100644
index 0000000..87126b7
--- /dev/null
+++ b/src/image_data/gvo_banner_comp_sync_yellow.h
@@ -0,0 +1,188 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_comp_sync_yellow_image = {
+ 34, 60, 3,
+ "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321"
+ "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374"
+ "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370"
+ "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364"
+ "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205"
+ "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361"
+ "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355"
+ "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363"
+ "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362"
+ "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356"
+ "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353"
+ "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362"
+ "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203"
+ "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355"
+ "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362"
+ "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360"
+ "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2"
+ "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1"
+ "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321"
+ "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357"
+ "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20"
+ "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373"
+ "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375"
+ "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0"
+ "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0"
+ "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20"
+ "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364"
+ "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371"
+ "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376"
+ "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351"
+ "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360"
+ "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376"
+ "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352"
+ "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351"
+ "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360"
+ "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20"
+ "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372"
+ "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374"
+ "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361"
+ "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600"
+ "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21"
+ "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347"
+ "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360"
+ "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317"
+ "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314"
+ "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376"
+ "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203"
+ "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367"
+ "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375"
+ "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354"
+ "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346"
+ "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360"
+ "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354"
+ "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351"
+ "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350"
+ "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345"
+ "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206"
+ "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350"
+ "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344"
+ "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341"
+ "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321"
+ "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?"
+ "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344"
+ "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340"
+ "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0"
+ "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370"
+ "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275"
+ "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340"
+ "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354"
+ "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312"
+ "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376"
+ "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346"
+ "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343"
+ "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355"
+ "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\376\376\376\350\350\352"
+ "\37\37\40""333ooo\374\374\375\346\346\351\0\0\0\376\376\376\344\344\347\0"
+ "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340"
+ "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341"
+ "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20"
+ "\20\37\37\37\237\237\240\376\376\376\347\347\352||}\0\0\0\371\371\372\363"
+ "\363\364\345\345\350\0\0\0\376\376\376\344\344\347\0\0\0\376\376\376\226"
+ "\226\230\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342"
+ "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354"
+ "\202\352\352\354\2\351\351\353\364\364\365\202\375\375\375\7\373\373\373"
+ "\357\357\361\347\347\350{{{@A>\375\376\373\344\345\345\202\343\344\344\11"
+ "\375\376\374\343\343\345\342\342\345\376\376\376\341\341\345\353\353\355"
+ "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334"
+ "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353"
+ "\202\351\351\353\202\350\350\352\10\347\347\352\347\347\350\345\346\346\345"
+ "\345\343,,&\235\236\227\364\365\356\341\342\335\202\340\341\334\7\337\340"
+ "\335\340\341\336\340\340\342\341\341\343\340\340\344\340\340\343\337\337"
+ "\343\202\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334\340\333"
+ "\333\340\202\332\332\337\202\352\352\354\202\351\351\353\32\350\350\353\350"
+ "\350\352\347\347\352\347\347\351\346\346\350\345\345\344\343\343\337\342"
+ "\343\335\341\342\334\366\367\356\351\352\344\340\341\333\337\340\333\337"
+ "\340\332\336\337\332\336\337\331\335\336\332\336\337\335\336\337\341\337"
+ "\337\343\336\336\342\335\335\342\335\335\341\334\334\341\334\334\340\333"
+ "\333\340\202\332\332\337\202\331\331\336\202\351\351\353\1\350\350\353\202"
+ "\350\350\352\202\347\347\351\15\346\346\350\345\345\343\342\343\336\342\343"
+ "\335\341\342\334\250\251\242JJK\16\16\16\35\35\35---<<<}}~\273\274\266\202"
+ "\334\335\330\10\334\335\333\336\336\341\335\335\341\334\334\341\334\334\340"
+ "\333\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\1\351"
+ "\351\353\202\350\350\352\6\347\347\352\347\347\351\346\346\351\346\346\350"
+ "\344\345\345\343\343\337\202\341\342\334\4hhi\0\0\0\5\5\5\2\2\2\202\0\0\0"
+ "\10\4\4\4\"\"\"]]]\244\244\244\333\334\327\332\333\326\334\334\335\334\334"
+ "\340\202\333\333\340\202\332\332\337\10\331\331\336\330\330\336\330\330\335"
+ "\327\327\334\326\326\334\350\350\352\347\347\352\347\347\351\202\346\346"
+ "\351\12\345\345\350\345\345\347\343\343\341\341\342\334\340\341\333YYZ\0"
+ "\0\0\16\16\1ee\0\274\274\0\202\310\310\0\10\274\274\0ee\0\7\7\7ooo\274\274"
+ "\274\331\332\326\332\333\330\333\333\337\202\332\332\337\202\331\331\336"
+ "\5\330\330\335\327\327\335\327\327\334\326\326\334\325\325\333\202\347\347"
+ "\351\27\346\346\351\346\346\350\345\345\350\345\345\347\344\344\345\342\342"
+ "\336\340\341\333\246\247\241\0\0\0\16\16\1\243\243\0\310\310\0\326\343o\335"
+ "\356\237\332\351\207\324\337^\316\3230\243\243\0\11\11\11\222\222\222\317"
+ "\320\312\330\331\324\331\331\333\202\331\331\336\11\330\330\335\327\327\335"
+ "\327\327\334\326\326\334\326\326\333\325\325\333\324\324\332\346\346\351"
+ "\346\346\350\202\345\345\350\202\344\344\347\10\342\343\343\340\341\334\337"
+ "\340\332JJJ\5\5\5ee\0\310\310\0\330\346\177\202\345\376\340\11\341\367\302"
+ "\333\353\222\325\340b\316\3241ee\0DDD\321\321\321\326\327\323\330\330\331"
+ "\202\330\330\335\4\327\327\334\326\326\334\326\326\333\325\325\333\202\324"
+ "\324\332\1\323\323\331\202\345\345\350\202\344\344\347\202\343\343\346\31"
+ "\341\342\343\337\340\333\336\337\332\16\16\16\2\2\2\274\274\0\320\330A\335"
+ "\356\237\344\374\327\344\375\334\341\367\304\335\356\237\327\344v\321\332"
+ "I\300\303\31\14\14\14\325\325\325\325\326\323\327\327\327\327\327\335\327"
+ "\327\334\326\326\333\325\325\333\325\325\332\324\324\332\202\323\323\331"
+ "\1\322\322\330\202\344\344\347\30\343\343\347\343\343\346\342\342\346\342"
+ "\342\345\340\341\342\336\337\332\335\336\331\35\35\35\0\0\0\310\310\0\322"
+ "\333P\333\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344"
+ "v\322\333P\315\321'\0\0\0\344\344\344\324\325\322\326\326\326\326\326\334"
+ "\202\325\325\333\1\324\324\332\202\323\323\331\4\322\322\330\321\321\330"
+ "\321\321\327\344\344\347\202\343\343\346\27\342\342\345\341\341\345\341\341"
+ "\344\337\340\341\335\336\332\334\335\330---\0\0\0\310\310\0\321\331G\330"
+ "\345z\333\354\226\335\356\237\334\355\230\331\350\205\326\342k\322\332K\315"
+ "\321'\0\0\0\364\364\364\323\324\321\325\325\325\325\325\333\202\324\324\332"
+ "\7\323\323\331\322\322\331\322\322\330\321\321\327\320\320\327\317\317\326"
+ "\343\343\346\202\342\342\345\1\341\341\345\202\340\340\344;\336\337\340\334"
+ "\335\331\333\334\327<<<\4\4\4\274\274\0\317\3244\324\336^\327\344v\330\347"
+ "\200\330\346|\326\343o\324\335Z\320\327?\300\303\35\16\16\16\376\376\376"
+ "\322\323\320\323\323\324\324\324\332\323\323\331\322\322\331\322\322\330"
+ "\321\321\330\320\320\327\320\320\326\317\317\326\316\316\325\342\342\345"
+ "\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343\335\336\340"
+ "\333\334\331\332\333\327}}}\"\"\"ee\0\314\317\33\320\327?\323\335U\324\337"
+ "_\324\337^\323\334T\321\330D\316\323-fg\11___\366\366\367\321\322\317\322"
+ "\322\325\323\323\331\322\322\330\321\321\330\321\321\327\320\320\327\317"
+ "\317\326\202\316\316\325\4\315\315\324\341\341\344\340\340\344\340\340\343"
+ "\202\337\337\343\27\336\336\342\335\335\341\333\334\332\331\332\326\270\271"
+ "\263]]]\7\7\7\243\243\0\314\320\40\317\3254\320\327?\320\327@\317\3269\316"
+ "\322+\245\250\24\17\17\17\336\336\336\333\334\330\320\321\317\321\322\326"
+ "\321\321\330\321\321\327\320\320\327\202\317\317\326\1\316\316\325\202\315"
+ "\315\324\2\314\314\323\340\340\344\202\337\337\343\202\336\336\342\36\335"
+ "\335\341\334\334\341\333\333\335\330\331\326\330\331\324\252\252\253ooo\11"
+ "\11\11ee\0\277\301\22\314\317\36\314\320\40\277\303\31fg\10\17\17\17\316"
+ "\316\316\363\363\364\317\320\316\321\321\322\321\321\327\320\320\327\320"
+ "\320\326\317\317\326\316\316\325\315\315\325\315\315\324\314\314\323\313"
+ "\313\323\313\313\322\337\337\343\202\336\336\342\202\335\335\341\12\334\334"
+ "\340\333\333\340\333\333\336\330\331\330\327\330\323\326\327\323\272\272"
+ "\273\222\222\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336\336\336\362\362"
+ "\364\317\320\315\317\317\317\317\320\325\320\320\326\317\317\326\202\316"
+ "\316\325\14\315\315\324\314\314\324\313\313\323\313\313\322\312\312\322\311"
+ "\311\321\336\336\342\335\335\342\335\335\341\334\334\341\334\334\340\333"
+ "\333\340\202\332\332\337\17\330\331\334\326\327\327\325\326\322\324\325\322"
+ "\314\315\307\320\320\321\325\325\325\344\344\344\364\364\364\376\376\376"
+ "\366\366\367\332\333\327\316\317\315\317\317\316\317\317\323\202\317\317"
+ "\326\6\316\316\325\315\315\324\314\314\324\314\314\323\313\313\323\312\312"
+ "\322\202\311\311\321\5\310\310\320\335\335\341\334\334\341\334\334\340\333"
+ "\333\340\202\332\332\337\202\331\331\336\4\330\330\335\327\327\334\326\326"
+ "\330\324\325\324\202\322\323\320\202\321\322\317\2\320\321\316\317\320\315"
+ "\202\316\317\315\10\317\317\321\316\317\324\317\317\326\316\316\325\315\315"
+ "\325\315\315\324\314\314\323\313\313\323\202\312\312\322\7\311\311\321\310"
+ "\310\320\307\307\320\307\307\317\333\333\340\333\333\337\332\332\337\202"
+ "\331\331\336\202\330\330\335\15\327\327\334\326\326\334\326\326\333\325\325"
+ "\333\324\324\331\323\323\326\322\322\324\321\321\323\321\321\322\320\320"
+ "\322\317\317\321\317\317\322\316\317\324\202\316\316\325\12\315\315\324\314"
+ "\314\324\313\313\323\313\313\322\312\312\322\311\311\321\310\310\321\310"
+ "\310\320\307\307\317\306\306\317\202\305\305\316\202\223\223\224\1\224\224"
+ "\224\202\224\224\225\202\225\225\226\202\226\226\226\1\226\226\227\204\227"
+ "\227\227\205\230\230\230\1\227\227\230\206\227\227\227\202\226\226\227\203"
+ "\226\226\226\202\225\225\226\1\224\224\226\242\232\320\25\242\230\317\25"
+ "\242\227\317\24\242\242\323-\242\235\317*\242\230\311&\242\222\302$\242\214"
+ "\273!\242\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_left.h b/src/image_data/gvo_banner_left.h
new file mode 100644
index 0000000..a87539b
--- /dev/null
+++ b/src/image_data/gvo_banner_left.h
@@ -0,0 +1,340 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_left_image = {
+ 70, 60, 3,
+ "\11S]\21Xc\22`k\23hv\25p\177\27x\206\30}\214\32\200\220\33\200\221\33\275"
+ "\201\221\33\10`k\25iu\26s\200\31\177\214\33\211\231\35\222\242\37\227\251"
+ "\40\232\255!\202\234\256!\274\235\257!\11ly\27u\203\32\201\220\34\217\240"
+ "\37\233\254\"\244\270$\254\300%\257\304&\260\305&\275\261\306&\11u\201\32"
+ "\200\215\35\216\235\40\235\256$\253\275'\265\311)\273\320*\277\325+\300\325"
+ ",\275\301\326,\11|\207\34\210\226\37\227\246\"\250\271&\266\310)\301\323"
+ ",\307\333-\312\336-\313\337.\275\314\340.\7\200\214\35\214\232\40\236\255"
+ "$\256\277'\275\320*\307\332-\315\341.\202\320\344/\275\321\345/\10\202\215"
+ "\37\221\235\"\242\260&\264\304+\302\322.\313\3340\321\3421\322\3442\276\324"
+ "\3462\10\203\216\37\223\237#\245\263'\267\306+\306\326.\316\3370\323\344"
+ "1\324\3462\276\325\3472\10\201\214\40\221\235$\244\261)\266\305.\304\324"
+ "1\313\3342\317\3404\323\3455\276\334\3567\10\201\214\40\223\237%\247\264"
+ "*\271\310.\307\3272\315\3363\320\3414\326\3476\276\334\3567\10\204\216!\226"
+ "\242&\253\271+\275\314/\311\3313\320\3404\321\3425\332\3547\276\335\3578"
+ "\10\206\220\"\231\244'\256\274,\301\3170\314\3333\321\3414\323\3435\335\356"
+ "8\270\336\3578\15\337\357E\341\357`\344\357y\346\357\223\350\356\254\353"
+ "\357\307\206\220\"\232\245'\261\276,\303\3221\315\3353\321\3415\325\3466"
+ "\271\336\3578\15\335\355D\332\350[\331\344w\331\340\234\324\332\237\322\326"
+ "\266\206\221\"\235\251'\263\301-\305\3231\316\3364\321\3415\327\3476\271"
+ "\336\3578\15\341\356b\350\356\254\352\354\337\345\346\344\335\337\330\325"
+ "\327\303\207\221\"\235\251'\265\304.\306\3252\320\3404\321\3415\331\3517"
+ "\266\336\3578\20\337\357=\350\364w\364\371\276\367\371\344\361\362\345\353"
+ "\354\345\345\346\344\337\340\343\330\331\323\207\222#\237\254(\267\305.\307"
+ "\3272\317\3404\321\3425\332\3537\211\335\3578\31\336\357=\324\350c\316\344"
+ "c\315\343b\314\343a\313\342`\312\342_\311\341^\310\340]\307\340\\\306\337"
+ "[\305\337Z\304\336X\302\335W\301\335V\300\334U\244\312K\230\303G\232\303"
+ "X\230\302W\226\301T\224\300R\221\276P\220\275N\241\311G\222\335\3578\22\341"
+ "\361P\354\366\222\366\373\321\371\374\340\371\374\342\367\371\344\361\362"
+ "\345\354\354\345\346\347\345\340\341\343\330\331\325\207\222\"\240\255(\271"
+ "\310.\307\3302\317\3374\320\3414\332\3547\211\334\3567\31\340\360P\247\312"
+ "\224\224\276\224o\247on\252nd\240db\244bY\231YY\236YV\232VZ\231Zn\246nj\243"
+ "jf\241f\200\262\200q\224qo\223om\221mj\220jh\216hf\215f=\177=@\212@<\207"
+ "<v\253v\202\365\372\314\1\351\364\201\214\334\3567\24\335\356;\345\362l\360"
+ "\367\254\367\373\326\370\373\331\370\373\334\371\374\337\371\374\342\367"
+ "\371\344\361\362\345\354\355\345\346\347\345\341\341\344\331\332\326\210"
+ "\224\"\243\260)\273\312.\311\3313\317\3404\321\3424\212\334\3567\17\337\356"
+ "e\227\277\227\220\274\220L\222LN\234N?\211??\224?3\20037\21475\2105A\210"
+ "Am\245mi\243ie\240e\237\304\237\206,/,\4\"=\"?\211?:\207:i\243i\202\376\376"
+ "\376\1\363\371\277\212\334\3567\26\337\357H\351\364\204\363\371\300\366\372"
+ "\320\367\373\323\367\373\326\370\373\331\370\373\334\371\374\337\371\374"
+ "\342\367\371\344\361\363\345\354\355\346\346\347\345\341\342\344\331\333"
+ "\326\210\224!\243\261(\272\314.\310\3321\315\3402\321\3453\212\332\3565\17"
+ "\315\343}\226\277\226\206\271\206J\221JL\232L=\210==\223=2\20026\21364\207"
+ "4G\212Gl\245lh\242hc\237c\237\304\237\206,/,\4\40""7\40=\210=9\20695\203"
+ "5\203\376\376\376\210\332\3565\30\342\362a\354\366\231\364\372\306\365\372"
+ "\311\365\372\314\366\372\317\366\373\322\367\373\326\367\373\331\370\373"
+ "\334\370\374\337\371\374\341\366\371\344\361\363\345\354\355\345\347\350"
+ "\345\341\342\345\333\334\331\210\225\40\243\263'\273\313-\310\3320\314\337"
+ "2\320\3442\211\331\3554\20\332\3559\273\326\217\225\276\225z\265zH\217HJ"
+ "\231J;\207;;\222;2\20026\21264\2054M\214Mk\244kf\241fb\237b\236\303\236\205"
+ ",/,\6,.,\34%\34<\210<8\20584\2024\233\257\233\202\276\276\276\1\322\341W"
+ "\204\331\3554\33\333\356@\345\362u\357\367\256\362\371\276\363\371\301\364"
+ "\371\305\364\372\311\365\372\314\365\372\317\366\372\322\367\373\325\367"
+ "\373\331\370\373\334\370\373\337\371\374\341\366\371\345\362\363\345\354"
+ "\355\346\347\350\346\342\343\345\333\335\331\210\225\40\243\263'\272\314"
+ "-\307\332/\312\3361\321\3452\211\327\3543\20\334\356M\246\311\223\223\275"
+ "\223o\262oF\216FH\230H9\2069:\221:2\17725\21154\2044M\214Mj\243je\241ea\236"
+ "a\235\303\235\205,/,\6,.,\40'\40""2s27\20473\2023\243\307\243\202\376\376"
+ "\376\1\355\366\244\202\327\3543\35\336\357U\347\364\210\360\367\264\360\370"
+ "\267\361\370\273\362\370\276\362\371\301\363\371\305\364\371\310\364\372"
+ "\314\365\372\317\366\372\322\366\372\325\367\373\330\367\373\334\370\373"
+ "\337\370\373\341\366\371\344\362\363\345\354\356\346\347\350\346\343\343"
+ "\345\334\335\332\207\225!\243\265'\273\317.\306\3341\311\3372\320\3462\211"
+ "\325\3543\20\331\355b\226\277\226\222\275\222Z\243ZE\215EF\230F7\20579\220"
+ "91}15\21053\2023L\213Lh\243hd\240d`\235`\234\303\234\205,/,\6+.+#)#.l.6\204"
+ "61\2011o\247o\202\376\376\376\40\364\372\315\340\361h\352\365\231\356\367"
+ "\254\356\367\260\357\367\264\360\370\267\360\370\273\361\370\276\362\371"
+ "\301\363\371\305\363\371\310\364\372\314\365\372\317\365\372\322\366\372"
+ "\325\366\373\330\367\373\334\370\373\337\370\373\341\366\371\344\361\363"
+ "\345\355\356\346\347\350\346\343\344\345\334\336\334\207\225\40\243\265&"
+ "\273\320,\304\332.\310\3360\317\345/\211\323\3520\20\312\341\200\225\276"
+ "\225\213\272\213S\236SC\214CD\227D6\20368\21780|04\20642\2012R\215Rl\247"
+ "lw\262wr\260r\247\316\247\204-0-)-/-,/,*.*(_(?\234?:\231:.\204.\241\312@"
+ "\342\361w\352\365\235\353\365\244\354\366\247\355\366\253\355\366\256\356"
+ "\367\263\357\367\266\360\367\272\361\370\275\361\370\300\362\370\304\363"
+ "\371\310\363\371\313\364\371\316\365\372\321\365\372\325\366\372\330\367"
+ "\373\333\367\373\336\370\373\341\366\370\344\361\364\345\355\356\346\350"
+ "\351\346\344\344\346\335\336\335\205\225\37\243\267&\272\321+\304\334.\306"
+ "\336/\316\346.\210\321\352/\35\323\353:\271\325\216\224\276\224\201\267\201"
+ "Q\235QA\212AB\226B4\20248\21680{04\20542\2002W\217Wp\253p\210\305\210\213"
+ "\307\213\244\320\244\205\244\206\200\237\200y\232zr\225tk\217md\212f\\\204"
+ "^S\220VM\252NB\262B3\2233\361\366\361\202\376\376\376\37\360\370\300\353"
+ "\366\247\354\366\253\355\366\256\356\367\262\356\367\265\357\367\271\360"
+ "\370\275\361\370\300\361\370\304\362\371\307\363\371\313\364\371\316\364"
+ "\372\321\365\372\324\366\372\330\366\373\333\367\373\336\370\373\341\366"
+ "\370\344\361\364\345\355\357\346\350\351\346\343\344\346\336\337\335\204"
+ "\224\36\243\267%\271\317+\303\333,\304\334-\315\345,\210\317\350-\35\326"
+ "\353L\245\311\223\223\275\223x\264xO\234O?\212?@\225@3\20137\2157/z/4\203"
+ "41\2001W\217Wo\252o\242\316\242\274\306\274\261\266\262\306\306\306\343\343"
+ "\343\357\357\357\366\366\367\320\320\323\262\262\265\204\204\210\\\\aTXZ"
+ "ItN5\2255\213\245\213\202\276\276\276\37\307\313\254\352\365\246\353\365"
+ "\252\354\366\255\355\366\261\356\366\265\357\367\271\357\367\274\360\367"
+ "\277\361\370\304\362\370\307\362\371\312\363\371\315\364\371\321\365\372"
+ "\324\365\372\327\366\372\333\367\373\336\367\373\340\366\370\344\362\363"
+ "\345\355\357\346\351\352\346\344\345\346\337\340\337\202\223\35\242\267%"
+ "\271\320*\302\333+\304\334,\313\345,\210\315\347,\21\325\352b\226\277\226"
+ "\222\274\222\\\233\\D\214D>\210>A\212A[\231[Z\226ZX\223XB\201B,q,X\225Xx"
+ "\256x\270\274\270\255\255\256\356\356\356\202\376\376\376\12\366\366\367"
+ "\347\347\351\324\324\327\277\277\303\247\247\255\203\203\212\\\\aQQW6H:\217"
+ "\264\217\202\376\376\376\37\373\375\362\351\364\245\352\365\252\353\365\255"
+ "\354\366\261\355\366\264\356\366\270\357\367\274\357\367\277\360\370\303"
+ "\361\370\307\362\370\312\363\371\315\363\371\320\364\371\324\365\372\327"
+ "\366\372\332\367\372\336\367\373\340\366\370\344\361\363\345\355\357\346"
+ "\351\352\347\345\345\346\337\341\341\200\222\35\243\272%\267\321)\300\332"
+ "*\301\333+\311\345+\210\312\346+\16\306\340}\225\276\225\221\274\221N\222"
+ "NC\213C<\207<Y\231Y\203\262\203\202\257\202\201\255\201L\207L+o+[\227[\177"
+ "\251\177\202\261\261\261.\371\371\371\376\376\376\366\366\367\347\347\351"
+ "\324\324\327\277\277\303\247\247\255\215\215\225mmuRRV\\\\aQQW\15-\15\300"
+ "\334\202\346\363\236\347\364\242\350\364\245\351\364\251\352\365\255\353"
+ "\365\261\354\366\264\355\366\270\356\366\273\357\367\277\360\367\303\360"
+ "\370\306\361\370\312\362\370\315\363\371\320\364\371\324\364\372\327\365"
+ "\372\332\366\372\336\367\373\340\365\370\343\361\364\345\355\357\346\351"
+ "\352\347\345\346\347\337\341\341\200\222\34\242\272$\271\323)\300\333+\301"
+ "\334+\310\345*\207\311\346*\17\314\3475\267\324\215\224\276\224\203\263\203"
+ "H\217HA\212A:\206:b\236b\203\261\203\202\257\202\201\254\201A\200A*n*f\241"
+ "ft\222t\202\261\261\261\15""000\252\252\252\347\347\351\324\324\327\277\277"
+ "\303\247\247\255\215\215\225``g\32\32\34\33\33\34ffk\\\\a\6\27\6\203\376"
+ "\376\376\35\362\370\314\351\364\251\352\365\254\353\365\260\354\366\264\355"
+ "\366\270\355\366\273\356\367\277\357\367\303\360\370\306\361\370\311\362"
+ "\370\315\363\371\320\363\371\323\364\372\327\365\372\332\366\372\335\367"
+ "\373\340\365\371\343\361\364\345\356\360\346\351\353\347\346\347\347\341"
+ "\342\344\177\221\33\243\272$\267\322(\275\331*\300\335+\210\306\344)\22\316"
+ "\350I\243\310\221\223\275\223v\253vF\215F?\211?8\2058p\246p\202\260\202\201"
+ "\256\201\200\253\200A\177A*m*e\240eMsM\246\246\246\261\261\261CCC\202\0\0"
+ "\0\3""223,,.&&(\203\0\0\0\5==?ppu``e\2\7\2\324\344\324\202\376\376\376\35"
+ "\367\373\342\350\364\250\350\364\254\352\365\260\352\365\263\354\365\270"
+ "\354\366\273\355\366\276\356\367\302\357\367\306\360\370\311\361\370\314"
+ "\362\370\320\363\371\323\364\371\327\365\372\332\365\372\335\366\372\340"
+ "\365\371\343\361\364\345\356\357\346\352\353\350\347\347\347\341\342\344"
+ "~\221\32\242\272\"\266\322&\275\332)\276\334)\210\304\343&\37\316\347^\226"
+ "\277\226\222\274\222h\242hD\214D=\210=6\2046g\231gj\226ji\224ig\221g1t1*"
+ "l*d\240dj\244j9F9zzz\261\261\261\220\220\220YYY,,,+++))*(((KKLrrt\202\202"
+ "\205[[^\25\25\26\20=\20|\242|\202\276\276\276\36\275\276\271\347\363\247"
+ "\350\364\253\351\364\257\352\365\262\353\365\267\354\366\272\355\366\275"
+ "\356\366\302\357\367\305\360\367\310\361\370\314\361\370\317\362\371\323"
+ "\363\371\326\364\371\331\365\372\335\366\372\337\365\371\343\361\364\345"
+ "\356\357\347\352\354\347\346\347\347\342\343\345|\217\31\237\272!\264\322"
+ "%\273\331(\275\333)\301\341%\207\301\341$\37\303\336\177\225\276\225\220"
+ "\274\220Z\232ZB\213B;\207;5\2035\203\262\203\202\257\202\201\255\201\200"
+ "\252\200+o+-n-b\237bq\260qv\266v<a<\34""0\34\33""0\33\31/\31\30/\30\27.\27"
+ "\25.\25\24.\24\22-\22\21-\21\17,\17\16+\16\36j\36)\234)q\247q\203\376\376"
+ "\376\35\354\365\274\347\363\252\350\363\256\351\364\262\352\364\266\353\365"
+ "\271\354\365\275\355\366\301\356\366\304\357\367\310\360\367\313\361\370"
+ "\317\362\370\322\363\371\326\364\371\331\365\372\335\365\372\337\364\370"
+ "\343\361\364\345\356\360\347\352\354\350\347\350\350\343\344\346{\220\32"
+ "\236\272#\263\322'\273\332*\273\333+\277\341&\206\277\341%\40\304\3435\263"
+ "\323\212\224\275\224\217\273\217G\216G@\212@:\206:C\213C\202\261\202\202"
+ "\256\202\201\254\201\200\251\200*n*8x8a\236ao\257o|\301|\217\314\217\215"
+ "\276\215s\246s\206\275\206k\244k\177\273\177|\272|x\271xt\270tq\266qU\235"
+ "Ui\263i/\250/)\244)E\215E\203\376\376\376\35\362\370\323\346\363\252\347"
+ "\363\256\350\364\262\351\364\266\352\365\272\353\365\275\354\366\301\355"
+ "\366\305\356\367\310\357\367\314\360\370\317\361\370\322\362\371\326\363"
+ "\371\331\364\372\335\365\372\337\364\370\343\361\364\345\356\360\347\353"
+ "\354\350\347\351\350\344\345\350{\220\32\234\271#\261\322(\270\332*\272\334"
+ "+\276\340&\206\275\340$@\310\345K\242\307\221\222\275\222\201\262\201E\215"
+ "E>\211>8\2058L\220L\202\260\202\201\256\201\200\253\200k\232k*m*7w7`\235"
+ "`n\257n{\301{\216\313\216\214\276\214r\245r\205\274\205j\243j\177\272\177"
+ "{\271{w\270ws\267sp\266pT\234Th\262hA\257A(\243(\33~\33\335\353\325\367\373"
+ "\346\367\373\347\363\371\327\345\362\252\346\363\256\347\364\262\351\364"
+ "\266\352\365\271\353\365\275\354\366\301\355\366\304\356\367\310\357\367"
+ "\313\360\370\317\361\370\322\362\370\326\363\371\331\364\371\335\365\372"
+ "\337\364\370\343\361\364\345\356\361\347\353\354\350\350\351\351\344\345"
+ "\350{\221\33\234\270#\263\323(\273\333+\274\335+\276\340&\206\275\340#@\301"
+ "\340X\226\277\226\221\274\221p\247pC\214C<\210<6\2046G\214GZ\225ZX\222XW"
+ "\217WK\204K)l)6v6_\235_m\256my\301y\214\313\214\213\276\213q\245q\204\274"
+ "\204i\243i}\272}z\271zv\270vr\267ro\266oS\234Sg\261g;\236;&\242&\33\205\33"
+ "G\2175\342\361\236\343\361\242\344\362\246\345\362\251\346\363\256\347\364"
+ "\261\351\364\266\352\365\271\353\365\274\354\366\301\355\366\304\356\367"
+ "\310\357\367\313\360\370\317\361\370\322\362\370\325\363\371\331\364\371"
+ "\334\365\372\337\364\370\342\361\365\345\356\361\347\353\355\350\351\352"
+ "\351\345\346\351{\221\35\233\267%\262\321*\272\333+\274\335-\275\340'\206"
+ "\274\340$@\305\340}\224\276\224\220\273\220j\221jc\200cPoP]}][|[ZzZXxXGg"
+ "GUuUTsT<_<X\222Xn\260nw\300w\202\306\202\200\276\200m\254mx\273xd\252do\271"
+ "ok\270kf\267fb\265b]\263]I\241I`\256`9\2309$\241$\33\215\33\21o\21\341\361"
+ "\237\342\361\242\344\362\246\345\362\252\346\363\256\347\364\262\350\364"
+ "\266\351\365\271\352\365\275\354\366\301\355\366\304\356\367\310\357\367"
+ "\313\360\370\317\361\370\322\362\370\326\363\371\331\364\371\335\365\372"
+ "\337\364\370\343\361\365\345\357\361\347\354\355\351\351\352\351\346\346"
+ "\351|\221\35\232\266%\263\321+\273\334-\275\336/\275\341(\205\274\340$A\301"
+ "\3424\266\325\211\223\275\223\217\273\217\255\266\261ccwXXlMMaBBV99L11C)"
+ "):!!0\31\31'\12\12\20EuEs\267sv\300v\212\312\212\211\276\211o\245o\202\274"
+ "\202g\242g{\272{x\271xt\270tp\266pl\265lQ\233Qe\260e5\2155#\240#\33\224\33"
+ "\20n\20\271\330\203\342\361\242\344\362\246\345\362\252\346\363\256\347\364"
+ "\262\350\364\266\351\365\271\352\365\275\354\366\301\355\366\304\356\367"
+ "\310\357\367\313\360\370\317\361\370\322\362\370\326\363\371\331\364\371"
+ "\335\365\372\337\364\370\343\361\365\345\357\361\350\354\356\351\351\352"
+ "\351\347\347\352}\222\35\234\266$\262\321*\275\335-\276\337/\277\341(\205"
+ "\275\340\"A\310\345I\246\312\217\222\275\222\216\272\216\260\260\266nn\201"
+ "ccwXXlMMaBBV99L11C)):!!0\16\16\25DuDq\267qt\277t\202\276\202\211\275\211"
+ "n\244n\201\273\201f\242fz\271zw\270ws\267so\266ol\264lP\232Pd\257dH\225H"
+ "!\237!\33\233\33\17m\17\204\266^\343\361\241\344\362\246\345\362\251\346"
+ "\363\255\347\364\261\351\364\265\352\365\271\353\365\274\354\366\300\355"
+ "\366\304\356\367\307\357\367\313\360\370\316\361\370\322\362\370\325\363"
+ "\371\331\364\371\334\365\372\337\364\370\342\362\365\345\357\362\347\355"
+ "\356\351\352\353\352\350\350\352\177\223\36\233\266&\262\321,\274\335/\277"
+ "\3401\300\342*\205\276\341\"A\320\351_\225\276\225\221\274\221\221\272\221"
+ "\230\265\230\244\274\244\222\253\222\240\272\240\236\270\236\234\267\234"
+ "\232\266\232\210\244\210\225\263\225\223\262\223d\213dU\220Up\266ps\277s"
+ "~\270~\210\275\210l\244l\200\273\200e\242ey\271yv\270vr\267rn\266nj\264j"
+ "O\231Oc\257cG\225G.\244.\32\232\32\20x\20\\\234B\343\362\241\344\362\246"
+ "\345\363\251\347\363\255\350\364\261\351\364\265\352\365\271\353\365\274"
+ "\354\366\300\355\366\304\356\367\307\357\367\313\360\370\316\361\370\322"
+ "\362\371\325\363\371\331\364\372\334\365\372\337\364\370\342\362\365\346"
+ "\357\362\347\355\356\351\353\354\352\350\350\352\177\223\40\232\264'\262"
+ "\320.\276\3351\301\3413\302\342,\203\277\341#C\334\345\271\336\346\272\342"
+ "\350\323\204\217\211\275\310\277\327\342\331\315\317\317\345\345\347\325"
+ "\325\327\346\346\350\347\347\350\347\347\351\350\350\352\331\331\332\351"
+ "\351\352\352\352\353\326\336\327\322\342\323\330\352\331\331\355\332\337"
+ "\353\337\343\356\343\332\346\332\341\355\341\330\345\330\337\354\337\336"
+ "\353\336\334\352\335\333\351\333\331\350\332\320\337\321\326\346\327\315"
+ "\334\316\306\342\307\274\335\276\271\323\273\304\327\303\354\360\336\353"
+ "\356\336\352\356\336\351\355\333\344\354\305\347\361\270\352\365\271\353"
+ "\365\274\354\366\301\355\366\304\356\367\310\357\367\313\360\370\317\361"
+ "\370\322\362\371\325\363\371\331\364\372\334\365\372\337\365\370\342\362"
+ "\365\346\360\362\350\355\357\352\353\354\352\350\351\352\177\223\40\230\261"
+ "'\260\315,\276\3340\301\3402\301\342-\203\277\341!C\352\352\356\302\302\320"
+ "\312\312\326\204\204\211\252\252\264\267\267\302\322\322\335\330\330\342"
+ "\332\332\343\334\334\344\336\336\346\340\340\347\342\342\350\344\344\351"
+ "\346\346\353\350\350\354\352\352\355\354\354\357\356\356\360\360\360\361"
+ "\362\362\362\363\363\364\364\364\364\363\363\363\362\362\363\362\362\362"
+ "\360\360\361\357\357\360\356\356\357\354\354\355\352\352\354\350\350\353"
+ "\346\346\351\344\344\347\342\342\345\340\340\344\335\335\342\333\333\340"
+ "\330\330\336\326\326\333\325\325\334\337\337\345\344\344\352\334\340\323"
+ "\332\341\303\354\366\300\355\366\304\356\367\307\357\367\313\360\370\316"
+ "\361\370\322\362\371\325\363\371\331\364\372\334\365\372\337\365\370\342"
+ "\363\366\346\361\363\350\356\357\352\354\355\353\351\352\353~\222\40\227"
+ "\257'\257\313.\274\3311\301\3404\301\3410\203\276\340\"\24\356\356\362\307"
+ "\307\324\321\321\333\213\213\216\254\254\266\264\264\275\276\276\306\323"
+ "\323\334\200\200\204``bffh\207\207\212\225\225\230\226\226\231\227\227\232"
+ "\353\353\356\210\210\212eeekkk\220\220\220\203\236\236\236,\362\362\362\213"
+ "\213\213eeejjj\214\214\215\230\230\232\227\227\231\226\226\230\345\345\350"
+ "\203\203\205aabeef\203\203\206\215\215\220\213\213\217\211\211\215\321\321"
+ "\327\316\316\325\313\313\322\311\311\321\325\325\334\301\301\317\354\366"
+ "\300\355\366\304\356\367\307\357\367\313\360\370\316\361\370\322\362\370"
+ "\325\363\371\331\364\371\334\365\372\337\365\370\342\363\366\346\360\363"
+ "\350\356\360\352\354\355\353\352\352\353}\222\40\224\256'\253\310-\272\331"
+ "2\300\3413\300\3412\203\274\340!D\362\362\365\330\330\340\341\341\350\221"
+ "\221\223\257\257\267\267\267\277\277\277\307\307\307\316]]_\255\255\257\275"
+ "\275\277uuw\253\253\256\255\255\260\256\256\260\356\356\360eee\262\262\262"
+ "\301\301\302yyy\263\263\263\262\262\263\262\262\262\360\360\361dde\260\260"
+ "\260\277\277\277vvw\252\252\254\251\251\253\247\247\252\341\341\345``a\253"
+ "\253\254\272\272\273qqr\234\234\241\232\232\237\230\230\235\313\313\323\310"
+ "\310\320\305\305\316\302\302\313\276\276\310\223\223\235\354\366\300\355"
+ "\366\304\356\367\307\357\367\313\360\370\316\361\370\322\362\370\325\363"
+ "\371\331\364\371\334\365\372\337\365\370\342\362\366\346\360\363\350\357"
+ "\360\352\354\356\354\353\353\354|\221!\221\253'\250\306-\266\3272\275\336"
+ "3\276\3404\272\336\"\202\271\336\40D\366\366\370\351\351\355\362\362\365"
+ "\227\227\227\262\262\271\272\272\301\302\302\311\312\312\320__a\234\234\235"
+ "\253\253\254xxy\303\302\305\236\232\234\306\306\307\362\362\363kkk\243\243"
+ "\243\257\257\257{{{\307\307\310\240\234\235\306\305\306\355\355\356hhh\240"
+ "\240\241\253\253\254vvw\274\274\277\226\223\225\271\270\274\335\335\341b"
+ "bc\232\232\234\246\246\247oor\253\253\261\211\205\212\247\246\255\306\306"
+ "\317\303\303\314\277\277\311\274\274\306\270\270\303yy\200\353\365\300\354"
+ "\366\303\355\366\307\356\367\312\357\367\316\360\370\321\361\370\325\362"
+ "\371\330\363\371\334\364\371\337\364\370\343\362\366\346\361\363\350\357"
+ "\361\352\355\356\354\352\353\354y\217!\215\247&\243\302-\262\3251\272\335"
+ "3\273\3374\266\336#\202\265\335\37D\372\372\373\371\371\372\374\374\374\225"
+ "\225\226\265\265\273\275\275\303\305\305\312\315\315\322\272\272\276\236"
+ "\236\240\247\247\251\321\321\323cII\245IIwJJ\364\364\364\324\324\324\253"
+ "\253\253\255\255\255\323\323\323cHI\244HHuHH\352\352\354\312\312\314\242"
+ "\242\244\244\244\246\306\306\311^DE\237CEpBD\330\330\336\272\272\277\226"
+ "\226\232\227\227\233\264\264\272X=@\230<?i;>\300\300\312\275\275\307\271"
+ "\271\304\266\266\301\262\262\276{{\201\352\365\300\353\365\303\354\366\307"
+ "\355\366\312\356\367\316\357\367\321\361\370\325\362\370\330\363\371\334"
+ "\364\371\336\364\371\343\362\366\346\361\364\350\357\361\352\355\356\354"
+ "\353\354\355v\214\40\210\243%\236\275+\255\317/\265\3311\270\3353\263\333"
+ "$\202\261\332\35D\376\376\376\371\371\372\361\361\364\217\217\222\270\270"
+ "\275\300\300\304\310\310\314\320\320\324\331\331\334\342\342\344\353\353"
+ "\354\361\361\362tTU\263JJ\211UU\363\363\363\362\362\362\361\361\361\357\357"
+ "\360\356\356\357rRR\261GH\206QR\347\347\351\345\345\350\343\343\346\341\341"
+ "\344\336\336\342lLN\253BC\200JL\324\324\332\321\321\327\316\316\325\313\313"
+ "\322\310\310\320dDH\244;>xBE\272\272\305\267\267\302\263\263\277\257\257"
+ "\274\241\241\255}}\203\351\364\277\352\365\303\353\365\306\354\366\312\355"
+ "\366\315\357\367\321\360\367\324\361\370\330\362\370\333\363\371\336\363"
+ "\370\343\362\366\345\361\363\351\357\361\353\356\357\354\354\355\355r\212"
+ "\36\204\242$\231\273*\250\317.\260\3300\263\3341\260\333&\202\254\331\33"
+ "D\373\373\374\352\352\357\337\337\346\207\207\213\273\273\277\303\303\306"
+ "\313\313\316\324\324\326\334\334\336\345\345\346\356\356\357\364\364\364"
+ "\337\336\336\320\310\311\337\335\335\361\361\362\360\360\361\357\357\360"
+ "\355\355\356\353\353\355\326\325\327\306\277\301\323\321\324\344\344\347"
+ "\341\341\345\337\337\343\334\334\341\332\332\337\305\304\311\266\257\264"
+ "\301\277\305\317\317\326\314\314\323\311\311\321\305\305\316\302\302\313"
+ "\256\256\267\241\232\243\251\247\262\264\264\300\260\260\275\237\237\251"
+ "\215\215\224\207\210\211\245\252\230\347\364\277\350\364\302\352\365\306"
+ "\353\365\311\354\366\315\356\367\320\357\367\324\360\370\330\361\370\333"
+ "\362\371\336\363\370\342\362\366\346\361\364\351\360\362\352\356\357\355"
+ "\355\355\355o\210\36\200\235\"\223\266(\243\312-\254\325/\257\3300\254\331"
+ "'\202\247\326\31\13\367\367\371\207\207\213\200\200\206~~\203\211\211\217"
+ "\214\214\222\217\217\225\222\222\227\225\225\232\231\231\235\234\234\240"
+ "\202\236\236\242\3\237\237\243\240\240\244\241\241\244\202\242\242\245\202"
+ "\243\243\246\2\244\244\246\244\244\247\202\245\245\247\202\246\246\250\203"
+ "\247\247\250'\246\246\250\245\245\247\243\243\246\242\242\245\240\240\243"
+ "\237\237\242\235\235\240\233\233\237\231\231\235\227\227\234\224\224\232"
+ "\223\224\224\251\257\230\304\317\245\343\361\266\344\362\271\346\363\276"
+ "\347\363\302\351\364\305\352\365\311\353\365\314\355\366\320\356\367\324"
+ "\357\367\327\361\370\333\362\370\336\362\370\342\361\365\346\360\364\351"
+ "\360\362\353\356\360\355\355\356\355l\207\36|\233\"\217\263(\237\310,\250"
+ "\323.\254\3270\253\330*\205\244\325\30\1\245\325\32\202\245\325\33?\246\326"
+ "\35\247\326\40\250\327!\251\327$\253\330)\254\331,\254\331-\260\3327\261"
+ "\333:\262\334=\266\335E\271\336M\272\337Q\274\340U\275\340X\277\341]\300"
+ "\342`\302\343d\303\343i\305\344l\307\345q\310\345t\312\346y\313\347}\315"
+ "\350\200\317\350\205\320\351\210\322\352\215\323\353\220\325\353\225\327"
+ "\354\231\330\355\235\332\356\242\333\356\245\335\357\252\337\360\255\340"
+ "\360\262\342\361\266\343\362\271\345\363\276\346\363\301\350\364\305\351"
+ "\365\311\353\365\314\354\366\320\355\366\323\357\367\327\360\370\333\361"
+ "\370\335\362\370\342\362\366\346\361\364\350\360\362\353\357\360\355\356"
+ "\357\356i\204\35x\227!\211\255&\232\303*\245\321.\251\326/\251\326.\241\323"
+ "\30\224\241\323\27""2\242\324\33\246\325$\246\326%\247\326&\255\3316\256"
+ "\3318\256\3319\264\334G\267\335N\270\336Q\275\340\\\303\343l\304\343o\307"
+ "\344u\320\351\214\322\352\220\324\352\224\326\353\231\327\354\235\331\355"
+ "\241\332\355\245\334\356\251\336\357\255\337\360\262\341\361\265\342\361"
+ "\271\344\362\275\346\363\301\347\363\305\350\364\310\352\365\314\353\365"
+ "\320\355\366\323\356\367\327\360\367\333\361\370\335\361\370\342\361\366"
+ "\346\361\364\351\360\362\353\357\361\355\356\357\357g\202\35u\225!\206\253"
+ "%\226\277*\241\315-\246\325.\247\326/\240\323\33\245\236\322\26!\247\326"
+ ",\251\3271\252\3272\260\332B\266\335Q\267\335R\273\337[\306\344v\306\344"
+ "x\307\345{\326\354\234\330\355\242\331\355\244\344\362\277\353\365\317\354"
+ "\366\323\356\367\327\357\367\332\360\370\335\361\367\342\361\366\346\361"
+ "\365\351\360\363\353\360\362\356\357\357\357e\200\34r\221\40\202\247$\221"
+ "\273(\235\312,\244\322-\245\324.\237\321\36\265\234\320\25\21\242\323#\255"
+ "\330<\255\330=\252\321D\257\311l\235\267[\222\247^\212\232g\177\212gd\200"
+ "\34p\220\37\200\244$\217\270(\233\307+\241\320-\244\323.\237\322#\276\232"
+ "\320\25\10b\177\34n\215\37|\241#\213\265(\227\305,\236\316-\241\322.\237"
+ "\322'\276\230\317\25\11a~\34k\213\36y\236\"\210\262'\224\302*\234\315,\240"
+ "\322-\241\323,\227\317\25\275\227\317\24\10`}\33j\211\35x\232!\205\255%\222"
+ "\276)\234\312+\240\320,\241\321-\276\242\323-\10\\z\31f\205\33r\225\36\177"
+ "\247\"\213\271%\225\305(\232\313)\234\315*\276\235\317*\7Yv\26a\200\31m\217"
+ "\33y\240\36\204\260\"\216\274$\224\304&\202\227\310&\275\230\311&\10Uq\24"
+ "]|\27g\207\31s\230\34\177\247\37\207\263!\215\273\"\220\277#\202\221\301"
+ "$\274\222\302$\10Rn\23Xv\25b\202\27m\221\32w\237\34\200\253\36\206\263\37"
+ "\212\270\40\202\213\273!\274\214\273!\10Oi\21Uq\23]|\25g\211\27q\227\31{"
+ "\243\33\200\253\35\203\260\35\202\206\263\36\274\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_right.h b/src/image_data/gvo_banner_right.h
new file mode 100644
index 0000000..ff6bd93
--- /dev/null
+++ b/src/image_data/gvo_banner_right.h
@@ -0,0 +1,1501 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_right_image = {
+ 174, 60, 3,
+ "\223\201\221\33\35\202\222\40\220\232S\224\235e\202\204{zz{\213\213\214\225"
+ "\225\226\233\233\234\237\237\241\241\241\242\237\237\241\234\234\236\220"
+ "\220\222\212\212\216\216\216\220\222\222\223\221\221\223\212\212\214\203"
+ "\203\206\204\204\210\216\216\220\221\221\224\220\220\222\221\221\223\222"
+ "\222\224\215\215\220\202\202\206\200\200\204\220\220\222\203\231\231\231"
+ "\5\225\225\226\201\201\205{{\200\205\205\210\217\217\222\202\220\220\223"
+ "\5\221\221\224\211\211\214yy\177{{\200\221\221\223\205\231\231\231\5\213"
+ "\213\216ttzyy\177\213\213\220\230\230\231\202\231\231\231\5\222\222\225\177"
+ "\177\204rryzz\200\220\220\222\202\231\231\231\1\230\230\230\202\226\226\230"
+ "\13\230\230\230\231\231\231\225\225\226\212\212\215\200\200\203zz\200{{\200"
+ "\177\177\203\205\205\211\212\212\215\216\216\220\202\217\217\221\12\215\215"
+ "\220\213\213\216\212\212\214\207\207\213\206\206\212\206\206\211\205\205"
+ "\211\205\205\210\206\206\211\205\205\211\205\206\206\212\2\207\207\212\207"
+ "\207\213\203\210\210\213\202\207\207\213\7\205\205\210\203\203\206\200\200"
+ "\204\177\177\202\200\200\205\213\213\215\225\225\226\202\231\231\231\13\230"
+ "\230\230\222\222\224\212\212\216\206\206\213\214\214\220\223\223\226\230"
+ "\230\231\231\231\231\227\227\230\217\217\222\206\206\213\202\205\205\212"
+ "\16\207\207\214\214\214\221\225\225\227\230\230\230\226\226\231\213\213\220"
+ "{{\200ssyttzuu{\177\177\203\215\215\221\222\222\225\227\227\227\204\231\231"
+ "\231\1\227\227\230\202\220\220\222\2\212\212\215\204\204\210\202\203\203"
+ "\207\7\205\205\211\212\212\215\210\210\211\177\177\200||}xxxnnn\223\235\257"
+ "!\27\242\263;\261\273u\244\252\200yyz\210\210\211\227\227\231\243\243\243"
+ "\250\250\253\257\257\257\260\260\261\262\262\263\252\252\254\236\236\241"
+ "\233\233\236\242\242\243\245\245\245\236\236\240\224\224\230\217\217\223"
+ "\227\227\232\240\240\243\241\241\244\241\241\243\202\241\241\244\4\227\227"
+ "\232\216\216\223\230\227\233\251\251\252\203\253\253\253\4\234\234\237\211"
+ "\211\216\215\215\223\232\232\236\202\240\240\244\5\241\241\245\233\233\240"
+ "\212\212\220\203\203\213\233\233\236\205\253\253\253!\241\241\243\205\205"
+ "\214\201\201\211\231\231\235\247\247\252\253\253\253\252\252\253\242\242"
+ "\245\214\214\223\177\177\206\214\214\221\242\242\245\253\253\253\253\253"
+ "\252\252\252\252\250\250\252\252\252\252\253\253\253\252\252\253\242\242"
+ "\245\222\222\226\207\207\216\210\210\215\215\215\223\225\225\232\234\234"
+ "\237\240\240\243\241\241\243\236\236\242\234\234\237\230\230\234\226\226"
+ "\232\224\224\231\202\224\224\230\5\224\224\231\226\226\232\226\226\233\230"
+ "\230\234\232\232\234\204\232\232\235\4\232\232\234\230\230\233\227\227\233"
+ "\227\227\232\203\226\226\232\203\227\227\233$\226\226\232\224\224\231\221"
+ "\221\226\216\216\223\215\215\222\224\224\231\237\237\242\252\252\252\253"
+ "\253\253\252\252\253\244\244\246\230\230\235\222\222\227\225\225\232\240"
+ "\240\243\252\252\252\253\253\253\252\252\253\242\242\244\226\226\233\223"
+ "\223\232\225\225\232\227\227\234\236\236\243\250\250\251\252\252\253\245"
+ "\245\251\226\226\234\202\202\212\200\200\206\200\200\207\202\202\211\220"
+ "\220\225\236\236\243\243\243\246\252\252\252\204\253\253\253\15\245\245\246"
+ "\237\237\243\235\235\241\224\224\231\220\220\225\222\222\226\221\221\225"
+ "\224\224\230\226\226\230\216\216\221\203\203\205\200\200\201wwy\223\261\306"
+ "&\11\276\315Z\310\322\203\241\245\212~~\200\222\222\223\243\243\245\254\254"
+ "\256\267\267\270\276\276\277\202\300\300\302\21\266\266\271\253\253\260\256"
+ "\256\261\266\266\267\264\264\264\253\252\256\236\236\243\237\237\243\252"
+ "\252\256\261\261\264\261\261\263\261\261\265\262\262\265\255\255\262\237"
+ "\237\245\237\237\244\263\263\265\203\274\274\274\5\271\271\272\240\240\246"
+ "\226\226\235\242\242\250\255\255\262\202\260\260\265\5\257\257\263\240\240"
+ "\246\217\217\227\240\240\245\272\272\273\202\274\274\274\7\273\273\273\274"
+ "\274\274\267\267\271\231\231\240\213\213\224\237\237\245\265\265\270\202"
+ "\273\273\274\7\265\265\270\236\236\244\213\213\223\231\231\240\267\267\270"
+ "\274\274\274\274\274\273\203\273\273\273\26\274\274\274\273\273\274\261\261"
+ "\265\236\236\243\224\224\233\230\230\237\241\241\247\253\253\257\262\262"
+ "\265\263\263\266\260\260\264\253\253\257\250\250\253\244\244\251\242\242"
+ "\250\244\244\250\246\246\252\251\251\254\255\255\257\260\260\263\262\262"
+ "\265\265\265\267\202\267\267\271\203\270\270\271\10\267\267\271\266\266\270"
+ "\264\264\266\262\262\264\257\257\261\254\254\257\252\252\255\251\251\253"
+ "\203\247\247\252\202\247\247\253\"\245\245\252\242\242\247\237\237\244\234"
+ "\234\242\237\237\244\256\256\261\273\273\273\274\274\274\273\273\274\265"
+ "\265\267\245\245\252\236\236\242\240\240\246\257\257\263\273\273\273\274"
+ "\274\274\273\273\273\260\260\264\245\245\253\242\242\251\244\244\252\250"
+ "\250\255\263\262\266\273\273\273\272\272\274\265\265\270\234\233\242\213"
+ "\213\224\215\215\224\215\215\225\223\223\232\246\246\253\262\262\266\267"
+ "\267\271\204\274\274\274\6\272\272\273\261\261\265\257\257\264\246\246\253"
+ "\236\236\244\240\240\244\202\236\236\243\5\240\240\244\236\236\241\217\217"
+ "\222\206\206\211\177\177\200\222\301\326,\25\302\326/\324\340{\325\336\215"
+ "\222\224\212\206\206\210\234\234\235\252\252\254\266\266\270\302\302\304"
+ "\307\307\312\315\315\320\314\314\316\300\300\303\273\273\277\303\303\304"
+ "\306\306\306\300\300\301\264\264\266\252\252\256\260\260\263\274\274\277"
+ "\202\276\276\301\202\301\301\304\4\267\267\274\251\251\260\264\264\271\312"
+ "\312\312\203\314\314\314\13\277\277\303\245\245\254\247\247\256\266\266\273"
+ "\276\276\302\277\277\304\276\276\303\267\267\273\241\241\251\244\244\253"
+ "\304\304\305\205\314\314\314\13\266\266\273\226\226\240\241\241\250\274\274"
+ "\302\311\311\313\312\312\314\305\305\310\255\255\264\226\226\241\243\243"
+ "\252\302\302\305\202\314\314\314\203\313\313\313\24\314\314\314\313\313\313"
+ "\274\274\301\251\251\261\243\243\251\252\252\260\265\265\272\276\276\303"
+ "\303\303\305\301\301\304\274\274\301\266\266\272\262\262\267\262\262\266"
+ "\265\265\270\271\271\274\300\300\302\304\304\306\307\307\311\311\311\312"
+ "\207\312\312\312\205\312\312\313\10\312\312\312\310\310\312\305\306\307\302"
+ "\302\304\275\275\301\270\270\274\266\266\272\265\265\272\202\265\265\270"
+ "\"\264\264\267\262\262\266\257\257\264\251\251\261\254\254\263\272\272\277"
+ "\312\312\312\314\314\314\313\313\314\302\302\305\261\261\267\250\250\257"
+ "\253\253\263\273\273\300\312\312\312\314\314\314\312\312\312\301\301\304"
+ "\263\263\271\261\261\267\263\263\271\270\270\277\306\306\310\313\313\314"
+ "\311\311\314\270\270\276\235\235\245\227\227\240\231\231\242\232\232\243"
+ "\245\245\254\270\270\276\304\304\307\312\312\313\204\314\314\314\14\305\305"
+ "\307\277\277\303\270\270\275\255\255\262\254\254\262\254\254\261\251\251"
+ "\256\250\250\254\251\251\254\235\235\237\215\214\217\204\204\207\222\314"
+ "\340.\25\322\343H\343\354\223\307\320\225\177\177\200\217\217\221\244\244"
+ "\245\262\262\263\276\276\277\313\313\315\320\320\323\331\331\333\322\322"
+ "\326\311\311\315\315\315\320\323\323\324\322\322\322\313\313\314\274\274"
+ "\300\265\265\272\300\300\303\312\312\316\202\313\313\316\5\316\316\322\310"
+ "\310\315\273\273\301\267\267\275\316\316\322\203\332\332\332\13\327\327\330"
+ "\275\275\303\254\254\264\272\272\300\307\307\314\312\312\320\313\313\320"
+ "\305\305\312\264\264\273\247\247\260\305\305\311\203\332\332\332\15\331\331"
+ "\331\332\332\332\321\321\323\251\251\262\243\243\255\276\276\304\323\323"
+ "\327\326\326\332\323\323\330\276\276\304\242\242\254\254\254\263\316\316"
+ "\321\202\332\332\332\203\331\331\331\21\332\332\332\330\330\331\310\310\313"
+ "\261\261\271\257\257\266\273\273\300\310\310\314\320\320\323\321\321\323"
+ "\312\312\317\303\303\310\277\277\303\276\276\303\303\303\306\311\311\315"
+ "\322\322\324\327\327\330\202\330\330\331\2\327\327\330\325\325\327\204\323"
+ "\323\326\4\324\324\326\325\325\327\326\326\330\327\327\330\202\330\330\330"
+ "\3\330\330\331\330\330\332\331\331\332\202\332\332\332\7\331\331\332\330"
+ "\330\330\323\323\325\316\316\321\307\307\313\304\304\307\301\301\305\202"
+ "\277\277\304\2\276\276\302\273\273\277\202\265\265\274\34\302\302\307\325"
+ "\325\326\332\332\332\331\331\332\316\316\322\272\272\300\257\257\270\263"
+ "\263\273\305\305\312\330\330\330\332\332\332\330\330\331\313\313\321\276"
+ "\276\304\274\274\304\277\277\305\311\311\320\330\330\330\331\331\332\323"
+ "\323\327\266\266\276\242\242\254\243\243\254\244\244\255\246\246\257\266"
+ "\266\275\313\313\321\323\323\327\204\332\332\332\14\330\330\330\315\315\322"
+ "\311\311\316\272\272\301\266\266\275\267\267\274\264\264\271\257\257\263"
+ "\257\257\262\250\250\254\225\225\231\210\210\212\222\321\345/\34\334\353"
+ "b\347\361\225\263\270\224\202\202\203\226\226\227\251\251\252\270\270\271"
+ "\305\305\307\320\320\322\331\331\333\335\335\337\327\327\333\323\323\327"
+ "\333\333\334\340\340\340\335\335\335\321\321\324\301\301\306\302\302\306"
+ "\317\317\322\325\325\330\324\324\330\326\326\331\331\331\334\315\315\322"
+ "\277\277\305\311\311\317\342\342\343\203\345\345\345\13\330\330\333\273\273"
+ "\303\270\270\300\313\313\321\324\324\332\325\325\332\323\323\331\304\304"
+ "\313\261\261\272\273\273\303\341\341\341\202\345\345\345\15\344\344\344\345"
+ "\345\345\344\344\344\303\303\312\251\251\263\274\274\304\324\324\332\336"
+ "\336\343\334\334\341\315\315\324\257\257\270\261\261\273\327\327\332\202"
+ "\345\345\345\203\344\344\344\27\345\345\345\344\344\345\323\323\330\273\273"
+ "\302\271\271\301\307\307\314\325\325\332\333\333\337\332\332\336\323\323"
+ "\326\312\312\317\307\307\315\314\314\321\326\326\332\340\340\341\344\344"
+ "\345\343\343\344\341\341\341\334\334\336\327\327\331\324\324\327\323\323"
+ "\326\323\323\325\202\323\323\326\7\324\324\326\325\325\327\326\326\327\327"
+ "\327\330\327\327\331\330\330\332\331\331\332\202\332\332\332\3\332\332\333"
+ "\332\332\334\333\333\334\203\334\334\334\5\333\333\333\330\330\331\322\322"
+ "\323\312\312\315\303\303\307\202\302\302\306\32\302\302\307\301\301\307\275"
+ "\275\304\274\274\303\312\312\317\340\340\341\345\345\345\344\344\344\324"
+ "\324\331\275\275\305\265\265\276\272\272\302\320\320\325\343\343\343\345"
+ "\345\345\342\342\344\323\323\331\305\305\316\305\305\315\313\313\323\332"
+ "\332\336\344\344\344\343\343\345\323\323\331\263\263\274\253\252\264\202"
+ "\255\255\266\4\262\262\273\312\312\321\333\332\337\341\341\342\204\345\345"
+ "\345\3\334\334\337\326\325\332\312\311\317\202\277\277\305\6\276\277\304"
+ "\267\267\274\261\260\265\257\257\262\237\237\242\214\214\216\222\324\346"
+ "2\33\343\356z\351\362\230\237\242\220\207\207\211\235\235\236\257\257\260"
+ "\274\274\276\311\311\314\325\325\327\337\337\340\343\343\345\332\332\335"
+ "\335\335\341\347\347\350\350\350\350\344\344\345\327\327\332\310\310\315"
+ "\315\315\322\333\333\336\334\334\340\333\333\340\336\336\342\336\336\343"
+ "\317\317\325\306\306\315\335\335\341\203\356\356\356\13\355\355\356\322\322"
+ "\331\274\274\304\304\304\314\330\330\334\335\335\343\334\334\342\325\325"
+ "\334\300\300\310\266\266\277\326\326\333\203\356\356\356\3\355\355\355\356"
+ "\356\356\342\342\345\202\267\267\301\7\323\323\332\341\341\350\344\344\351"
+ "\332\332\341\277\277\310\261\261\273\325\325\333\202\356\356\356\203\355"
+ "\355\355Q\356\356\356\355\355\356\340\340\344\305\305\315\300\300\310\320"
+ "\317\326\336\336\343\345\345\350\341\341\345\331\331\336\321\321\327\322"
+ "\322\327\334\333\336\346\346\347\354\354\355\355\355\356\353\353\353\347"
+ "\347\350\342\342\344\326\334\213\344\347\177\344\346~\344\346}\345\346{\345"
+ "\347z\346\347v\346\350s\346\350o\343\350k\341\350f\333\346`\325\345Z\323"
+ "\346W\321\347U\317\345T\315\344R\312\343O\307\342M\304\337K\303\336I\301"
+ "\334G\300\333F\277\332F\277\331F\277\330G\276\326G\274\325E\301\325W\277"
+ "\277\304\306\306\313\307\307\315\305\305\314\304\304\314\327\327\333\353"
+ "\353\354\356\356\356\352\352\353\324\324\333\276\276\307\271\271\303\303"
+ "\303\312\335\335\342\355\355\355\356\356\356\350\350\351\324\324\334\314"
+ "\314\325\317\317\326\332\332\340\350\350\352\356\356\356\347\347\352\307"
+ "\310\320\262\261\274\263\263\274\265\264\276\263\263\275\303\303\313\336"
+ "\336\344\346\346\351\354\354\355\203\356\356\356\13\350\350\352\337\337\344"
+ "\327\327\334\307\307\316\305\305\312\306\306\313\277\277\303\265\265\272"
+ "\257\257\264\246\246\251\220\220\222\221\325\3472\25\327\350>\350\361\216"
+ "\334\344\231\210\210\205\217\217\220\243\243\244\263\263\265\302\302\304"
+ "\320\320\322\332\332\334\343\343\345\343\343\346\340\340\343\350\350\353"
+ "\357\357\360\360\360\360\351\351\353\332\332\335\320\320\324\330\330\334"
+ "\343\343\347\202\342\342\346\5\347\347\352\337\337\344\314\314\324\322\322"
+ "\330\355\355\357\203\364\364\364\13\353\353\356\312\312\322\301\301\312\322"
+ "\322\331\341\341\346\343\343\351\340\340\346\320\320\327\273\273\304\306"
+ "\306\317\356\356\360\202\364\364\364\16\363\363\363\364\364\364\361\361\362"
+ "\317\317\326\263\263\276\312\312\323\340\340\350\347\347\355\342\342\350"
+ "\311\311\323\265\265\301\315\315\324\361\361\362\364\364\364\203\363\363"
+ "\363\202\364\364\364>\350\350\352\313\313\323\306\306\316\326\326\334\345"
+ "\345\352\352\352\356\346\346\351\333\333\340\326\326\333\333\333\337\350"
+ "\350\352\361\361\362\364\364\364\362\362\362\354\354\356\351\351\352\347"
+ "\347\352\343\343\345\320\325\200\370\363\220\351\351\207\352\350\204\352"
+ "\350\201\353\351}\352\352z\352\352y\354\352v\346\352r\344\352n\341\352n\341"
+ "\355n\335\352i\330\352f\326\353a\320\353]\316\354X\313\353W\310\350T\304"
+ "\343O\301\337K\275\336I\273\331G\271\327B\264\325@\263\321=\254\3173\267"
+ "\321E\267\267\272\304\304\311\316\316\324\316\316\326\311\311\320\312\312"
+ "\322\337\337\344\361\361\363\364\364\364\352\352\355\321\321\330\301\301"
+ "\312\275\275\307\311\311\323\344\344\351\202\364\364\364\20\352\352\355\327"
+ "\327\337\322\322\331\326\326\336\344\344\352\363\363\363\363\363\364\341"
+ "\341\347\276\276\307\265\265\301\274\273\305\272\272\303\274\274\306\326"
+ "\326\334\352\352\356\357\357\362\203\364\364\364\13\362\362\362\350\350\354"
+ "\342\342\347\320\320\327\310\310\317\313\313\320\305\305\313\271\271\275"
+ "\257\257\263\250\250\254\225\225\231\221\334\3567\34\341\361V\355\366\232"
+ "\307\316\231\201\201\202\224\224\225\247\247\250\267\267\271\306\306\310"
+ "\323\323\325\337\337\340\345\345\346\343\343\347\344\344\346\360\360\362"
+ "\365\365\365\364\364\364\354\354\356\333\333\337\326\326\333\343\343\347"
+ "\351\351\354\345\345\351\347\347\352\352\352\356\335\335\343\317\317\326"
+ "\341\341\345\370\370\370\203\371\371\371\12\345\345\351\307\307\320\312\312"
+ "\322\335\335\344\347\347\354\346\346\354\336\336\344\310\310\321\301\301"
+ "\312\343\343\347\203\371\371\371\3\371\371\370\371\371\371\347\347\352\202"
+ "\276\276\311\10\333\333\342\346\346\356\347\347\355\324\324\335\272\272\305"
+ "\305\305\317\360\360\362\371\371\371\204\370\370\3709\371\371\371\360\360"
+ "\362\323\323\333\311\311\321\331\331\337\351\351\355\356\356\362\351\351"
+ "\354\337\337\344\334\334\341\344\344\347\361\361\363\371\371\371\370\370"
+ "\371\364\364\365\356\356\361\354\354\356\353\353\355\354\354\356\345\345"
+ "\350\307\316z\374\374\225\376\376\213\376\376\214\376\376\206\371\370{\360"
+ "\360y\353\350u\350\350r\344\351n\340\352k\340\352h\334\352e\331\352b\325"
+ "\352]\322\352[\321\352X\314\353U\311\351T\306\346P\305\341K\301\340J\276"
+ "\334I\274\332D\272\330E\272\326C\266\324@\262\3228\266\320F\266\266\271\305"
+ "\305\312\320\320\326\324\324\333\320\320\327\314\314\323\320\320\327\344"
+ "\344\352\202\370\370\371\30\352\352\356\316\316\327\301\301\313\300\300\313"
+ "\317\317\330\356\356\362\371\371\371\370\370\371\351\351\357\330\330\340"
+ "\326\326\336\337\337\345\361\361\364\371\371\371\364\364\367\322\322\333"
+ "\271\271\304\276\276\310\301\301\313\274\274\307\311\311\322\346\346\354"
+ "\361\360\365\367\367\371\203\371\371\371\12\357\357\363\351\350\355\332\332"
+ "\340\312\312\322\313\313\321\312\312\320\274\274\302\255\255\262\246\246"
+ "\251\230\230\233\221\334\3567\23\345\362j\355\366\232\263\270\226\204\204"
+ "\206\231\231\232\254\254\255\274\274\276\314\314\315\327\327\331\341\341"
+ "\343\350\350\351\342\342\346\351\351\354\365\365\366\370\370\370\367\367"
+ "\367\355\355\357\333\333\340\335\335\342\202\352\352\355\6\351\351\355\354"
+ "\354\360\353\353\360\330\330\337\327\327\334\357\357\362\203\373\373\373"
+ "\13\371\371\372\334\334\341\307\307\320\323\323\332\344\344\352\351\351\356"
+ "\346\346\354\330\330\337\301\301\313\320\320\330\365\365\366\202\373\373"
+ "\373\16\372\372\372\373\373\373\372\372\372\320\317\330\266\266\301\311\311"
+ "\324\342\342\351\347\347\356\337\337\347\304\304\317\275\274\310\343\343"
+ "\351\373\373\373\373\373\372\203\372\372\372O\373\373\373\372\372\372\340"
+ "\340\345\313\313\324\326\326\334\347\347\355\357\357\364\352\352\356\340"
+ "\340\345\334\334\341\350\350\354\366\366\370\373\373\373\371\371\372\364"
+ "\364\366\357\357\362\354\354\357\352\352\355\352\352\354\347\347\351\331"
+ "\331\330\220\230h\234\237h\232\236g\241\247e\302\310r\357\367\203\376\376"
+ "|\376\376w\376\376s\353\360n\336\350i\334\351h\334\352c\327\352`\322\352"
+ "]\322\352Z\316\353W\313\352T\310\346P\305\343O\303\340L\300\336I\275\335"
+ "G\273\331E\273\327C\270\325A\266\324?\263\3229\265\317F\274\274\274\317\317"
+ "\322\323\323\331\327\327\334\325\324\333\320\320\330\314\314\324\323\323"
+ "\333\361\361\363\373\373\373\372\372\372\341\341\347\307\307\322\301\300"
+ "\313\302\301\314\332\332\341\367\367\370\373\373\373\367\367\371\341\341"
+ "\351\327\327\337\332\332\341\352\352\360\372\372\373\373\373\373\345\345"
+ "\353\277\277\312\275\275\310\304\304\316\202\301\301\313\3\332\332\340\357"
+ "\357\365\367\367\371\203\373\373\373\12\366\366\370\354\354\360\341\341\347"
+ "\315\315\324\314\314\322\313\313\321\301\301\306\256\256\263\243\243\247"
+ "\231\231\234\221\335\3578\16\351\364}\356\367\233\237\242\221\212\212\214"
+ "\236\236\237\257\257\260\300\300\301\317\317\320\332\332\333\344\344\346"
+ "\347\347\350\344\344\350\356\356\360\371\371\372\202\371\371\371\13\355\355"
+ "\360\335\335\342\344\344\350\357\357\362\355\355\361\353\353\357\357\356"
+ "\362\351\351\356\326\326\335\337\337\345\370\370\371\203\374\374\374\12\366"
+ "\366\370\323\323\333\310\310\321\331\331\340\347\347\356\351\351\357\342"
+ "\342\350\316\316\327\277\277\312\343\343\350\203\374\374\374\15\373\373\373"
+ "\374\374\374\357\356\362\301\300\312\274\274\306\324\324\335\344\343\352"
+ "\343\343\352\322\322\332\272\272\306\325\325\336\371\371\371\374\374\374"
+ "\203\373\373\373\202\374\374\374B\354\354\360\320\320\327\322\322\331\345"
+ "\345\351\356\356\362\353\353\360\341\341\346\337\337\343\352\352\355\370"
+ "\370\372\374\374\374\372\372\373\363\363\366\355\355\357\346\346\347\314"
+ "\314\316\247\247\251ttvHHIVUYIF[22?10A**8..9<>D_bW\222\230m\304\317h\356"
+ "\370a\367\376c\345\364g\325\347a\325\352^\322\352\\\317\352Y\314\351T\313"
+ "\350S\307\347R\306\342N\302\341K\277\335I\275\333F\271\330D\271\326D\270"
+ "\323?\270\325?\265\324<\265\316D\275\275\275\332\332\333\341\341\344\333"
+ "\333\340\326\326\334\322\322\331\317\316\326\313\313\323\336\336\344\371"
+ "\371\373\374\374\374\363\363\365\323\323\334\304\304\315\301\300\313\307"
+ "\307\321\347\347\355\202\374\374\374\20\357\357\363\332\332\342\327\327\340"
+ "\342\342\352\367\367\371\374\374\374\364\364\367\313\313\324\274\274\306"
+ "\305\305\317\307\306\320\277\277\312\312\312\323\352\352\360\366\366\371"
+ "\373\373\374\202\374\374\374\30\372\372\373\360\360\365\347\347\354\321\321"
+ "\327\313\313\321\312\312\320\303\303\311\260\260\266\240\240\244\230\230"
+ "\231\362\362\365\362\362\363\360\362\344\356\361\325\354\361\305\352\360"
+ "\266\351\360\246\347\360\226\345\357\207\344\357x\342\357h\341\357Y\340\357"
+ "J\336\357;\202\336\3578\34\337\357=\354\366\216\350\357\232\215\216\211\217"
+ "\217\221\241\241\242\263\263\265\305\305\305\322\322\323\335\335\336\346"
+ "\346\350\345\345\350\350\350\352\362\362\365\373\373\373\374\374\374\371"
+ "\371\372\353\353\357\341\341\345\352\352\356\361\361\365\355\355\361\356"
+ "\356\362\361\361\365\344\344\351\326\326\335\354\354\360\374\374\375\203"
+ "\375\375\375\12\356\356\362\315\315\325\317\317\327\340\340\347\353\353\360"
+ "\350\350\356\333\333\342\305\304\317\313\313\325\365\365\367\204\375\375"
+ "\375\14\374\374\375\333\333\342\270\267\303\305\305\320\334\334\344\342\342"
+ "\352\331\331\341\302\302\314\304\304\316\360\360\363\375\375\375\375\375"
+ "\374\203\374\374\374=\375\375\375\363\363\366\326\326\336\317\317\327\341"
+ "\341\347\355\355\362\355\355\361\343\343\350\337\337\344\352\352\356\372"
+ "\372\373\375\375\375\373\373\373\362\362\364\334\334\336\242\243\245SST\25"
+ "\25\26\14\14\14\13\13\13'''((4\221\223w\263\264\233\257\261\225\256\257\234"
+ "\252\253\242\226\226\221rqrQQ`klx\204\210\200\245\257e\330\354O\356\376]"
+ "\326\355^\320\350\\\316\353Y\313\352V\310\350T\306\344P\304\341M\303\337"
+ "K\277\335J\276\334F\272\330D\271\326D\266\324?\270\323?\265\325<\263\314"
+ "C\276\276\276\336\336\336\360\360\361\353\353\357\333\333\341\325\324\334"
+ "\321\320\330\315\315\325\317\317\327\352\352\356\202\375\375\375\27\346\346"
+ "\355\313\313\324\305\305\317\301\301\315\321\321\332\363\363\366\375\375"
+ "\375\372\372\374\347\347\356\330\330\341\334\334\344\357\357\364\375\375"
+ "\375\374\374\374\336\336\345\275\275\310\303\302\315\315\315\326\305\305"
+ "\317\301\301\313\334\334\344\364\364\372\372\372\374\203\375\375\375\27\364"
+ "\364\367\354\353\360\326\326\334\311\311\320\311\311\316\307\307\313\264"
+ "\264\271\237\237\243\223\223\227\353\353\354\352\352\352\351\352\334\347"
+ "\352\315\346\352\277\345\353\260\344\353\240\343\353\222\342\354\203\341"
+ "\354u\340\355f\337\355W\337\356I\336\357;\202\336\3578\16\342\361N\356\367"
+ "\233\322\332\232\201\201\203\224\224\225\246\246\247\266\266\270\310\310"
+ "\311\325\325\326\340\340\341\347\347\351\346\346\351\354\354\357\367\367"
+ "\370\202\374\374\374\13\370\370\372\352\352\356\343\343\350\357\357\362\362"
+ "\362\366\356\356\362\361\361\364\360\360\364\337\337\345\333\333\341\367"
+ "\367\370\204\376\376\376\11\344\344\351\312\312\323\325\325\335\347\347\354"
+ "\354\354\362\346\346\355\322\322\333\301\301\314\336\336\344\203\376\376"
+ "\376\13\375\375\375\376\376\376\370\370\371\310\310\323\273\273\306\316\316"
+ "\330\337\337\346\336\336\345\313\313\325\272\272\306\335\335\344\202\376"
+ "\376\376\203\375\375\375.\376\376\376\375\375\376\340\340\346\315\315\325"
+ "\332\332\340\352\352\357\356\356\362\346\346\352\340\340\345\354\354\360"
+ "\372\372\374\375\375\375\371\371\371\332\332\334\216\215\220**+\1\1\1\5\5"
+ "\5>>>\214\214\215\212\212\211ooqXY\\\311\317o\375\375\201\366\372w\362\371"
+ "t\351\357\200\331\336\222\276\276\257\267\267\271\253\253\253\226\226\233"
+ "\231\227\244\222\223\214\244\263T\343\376N\335\374W\311\346U\311\347Q\305"
+ "\345Q\305\342P\304\336L\300\336J\274\334H\274\333G\202\272\327D(\267\324"
+ "A\266\323?\265\323<\262\313B\275\275\276\337\337\337\364\364\364\374\374"
+ "\374\353\353\357\330\330\337\323\323\332\321\321\330\313\313\324\327\327"
+ "\337\366\366\370\376\376\376\367\367\371\330\330\337\311\311\323\305\305"
+ "\317\304\304\317\337\337\345\373\373\374\376\376\376\364\364\370\340\340"
+ "\350\331\331\341\347\347\356\372\372\374\376\376\376\360\360\364\305\305"
+ "\320\277\277\312\320\320\331\315\315\326\301\301\313\316\316\327\357\357"
+ "\365\371\371\375\375\375\376\202\376\376\376\27\367\367\371\356\356\363\333"
+ "\333\340\307\307\316\307\307\315\311\311\314\270\270\275\241\241\245\220"
+ "\220\224\352\352\354\352\352\351\350\352\333\347\352\315\346\352\276\345"
+ "\352\257\343\352\240\343\353\221\341\353\202\341\354t\340\354f\337\355W\337"
+ "\356I\336\357;\202\336\3578\16\344\362^\356\367\233\300\306\230\205\205\206"
+ "\227\227\230\250\250\251\273\273\274\312\312\314\330\330\331\341\341\342"
+ "\347\347\351\347\347\352\357\357\362\372\372\372\202\374\374\374\3\370\370"
+ "\371\350\350\354\347\347\353\202\363\363\367\6\357\357\363\362\362\366\356"
+ "\356\362\333\333\341\342\342\350\373\373\374\203\376\376\376\12\374\374\375"
+ "\334\334\343\312\312\323\333\333\342\351\351\357\354\354\362\341\341\350"
+ "\312\312\324\305\305\317\354\354\360\203\376\376\376\14\375\375\375\376\376"
+ "\376\352\352\357\276\276\311\300\300\313\324\324\335\336\336\346\325\325"
+ "\337\276\276\311\301\301\315\357\357\363\376\376\376\204\375\375\375X\376"
+ "\376\376\363\363\367\321\321\332\321\321\331\343\343\350\354\354\360\347"
+ "\347\354\337\337\345\346\346\352\371\371\372\374\374\374\351\351\354\223"
+ "\223\225%%&\0\0\0\1\1\1ihk\302\301\302\312\312\311\251\251\251\232\232\233"
+ "\235\235\237\251\251\253\306\313~\371\371\210\373\373\207\372\372\177\371"
+ "\371v\357\361l\353\362m\343\352\200\313\315\255\276\276\300\272\272\272\265"
+ "\264\273\247\246\261\214\220s\313\345K\341\376P\303\342N\305\343O\305\337"
+ "M\301\340K\277\335I\275\333G\273\330C\271\324C\270\325B\271\326C\267\324"
+ "@\267\325>\261\311A\274\274\275\335\335\336\364\364\364\376\376\376\371\371"
+ "\373\344\344\351\324\324\334\321\321\330\315\315\325\316\316\326\344\344"
+ "\353\374\374\375\376\376\376\346\346\354\314\314\326\311\311\322\305\305"
+ "\317\313\313\325\357\357\363\376\376\376\374\374\375\352\352\360\331\331"
+ "\342\340\340\350\364\364\371\376\376\376\372\372\374\321\321\332\276\276"
+ "\311\317\317\327\324\324\334\306\306\320\305\305\317\346\346\354\370\370"
+ "\374\374\374\375\202\376\376\376\27\372\372\373\360\360\364\337\337\345\310"
+ "\310\320\305\305\314\310\310\314\273\273\300\242\242\250\216\216\222\351"
+ "\351\353\351\351\351\347\351\333\346\351\315\345\351\276\344\352\256\343"
+ "\352\240\342\352\221\341\353\202\340\354t\340\354f\337\355W\336\356I\336"
+ "\357;\202\336\3578\32\347\363n\356\367\233\257\263\225\210\210\212\232\232"
+ "\234\254\254\255\275\275\277\316\316\317\331\331\333\343\343\345\350\350"
+ "\351\352\352\354\363\363\365\372\372\373\374\374\374\375\375\375\366\366"
+ "\370\347\347\353\352\352\356\365\365\370\363\363\366\361\361\364\364\364"
+ "\370\351\351\356\333\333\342\355\355\360\204\376\376\376\12\365\365\370\324"
+ "\324\334\315\315\325\341\341\347\354\354\361\352\352\360\331\331\341\303"
+ "\303\315\317\317\330\371\371\372\202\376\376\376\1\375\375\375\202\376\376"
+ "\376\12\333\333\342\270\270\304\307\307\322\330\330\340\332\332\343\311\311"
+ "\324\267\267\303\327\327\340\374\374\375\376\376\376\203\375\375\375\15\376"
+ "\376\376\375\375\375\340\340\347\315\315\325\332\332\341\351\351\355\350"
+ "\350\355\340\340\345\342\342\347\364\364\366\367\367\367\270\270\27388;\202"
+ "\0\0\0)665\300\300\301\334\334\334\311\311\311\262\262\263\263\263\265\267"
+ "\267\270\266\266\267\245\245\245~\200oZ]TY]Px{d\223\231f\321\327l\363\370"
+ "c\353\367e\336\353e\341\347\221\313\313\310\310\310\311\300\300\302\261\260"
+ "\272\206\205\206\266\310X\344\376N\302\340J\302\336M\300\336J\276\336J\274"
+ "\332G\272\331E\267\324C\270\325B\271\326C\267\324@\267\325=\257\310@\274"
+ "\274\275\333\333\334\362\362\363\202\376\376\376\37\364\364\370\336\336\344"
+ "\322\322\331\316\316\326\313\313\324\323\323\333\362\362\366\376\376\376"
+ "\365\365\370\330\330\337\313\313\325\311\311\324\303\303\316\333\333\343"
+ "\374\374\375\376\376\376\365\365\371\337\337\347\332\332\343\354\354\362"
+ "\374\374\375\376\376\376\340\340\347\300\300\313\312\312\324\331\331\341"
+ "\316\316\327\302\302\315\331\331\341\365\365\372\372\372\375\202\375\375"
+ "\376\27\373\373\374\362\362\366\344\344\351\313\313\323\302\302\311\310\310"
+ "\313\277\277\303\247\247\253\215\215\222\350\350\353\350\350\350\347\351"
+ "\333\345\350\314\345\351\275\343\351\256\342\352\237\341\352\221\340\353"
+ "\202\337\353t\337\354f\336\355W\336\356H\335\357;\202\335\3578\25\350\364"
+ "|\356\367\233\237\243\223\215\215\216\235\235\237\256\256\261\301\301\302"
+ "\321\321\322\333\333\335\344\344\345\347\347\351\353\353\356\367\367\370"
+ "\374\374\374\375\375\375\375\375\376\364\364\367\350\350\355\356\356\362"
+ "\367\367\372\364\364\367\202\363\363\367\3\345\345\352\336\336\344\363\363"
+ "\366\204\376\376\376\11\355\355\361\317\317\327\322\322\332\347\347\355\355"
+ "\355\363\350\350\356\321\321\332\300\300\313\336\336\345\203\376\376\376"
+ "\14\375\375\375\376\376\376\372\372\373\313\313\325\272\272\305\315\315\327"
+ "\331\331\341\323\323\333\277\277\311\277\277\312\355\355\361\376\376\376"
+ "\204\375\375\375\14\376\376\376\364\364\367\323\323\332\322\322\332\341\341"
+ "\347\350\350\355\340\340\346\335\335\343\355\355\360\347\347\352qqt\12\12"
+ "\12\202\0\0\0#\200\200\200\332\332\332\311\311\311\266\266\266\273\273\274"
+ "\270\270\273\211\211\212BBE\34\34\35""88;{y\203\211\211\210zz{WV^aah\210"
+ "\212\215\222\227{\312\326]\372\375h\323\347R\335\351x\331\332\305\324\324"
+ "\325\317\317\320\260\260\265wu}\254\272g\347\376N\275\335A\275\335J\275\332"
+ "H\274\333H\272\327E\270\325C\270\325B\202\267\324B\6\272\327?\255\307@\274"
+ "\274\275\333\333\334\357\357\361\374\374\375\202\376\376\376\6\356\356\362"
+ "\330\330\337\317\317\330\313\313\324\311\311\322\343\343\351\202\375\375"
+ "\375\26\347\347\356\316\316\330\317\317\327\311\311\322\314\314\326\361\361"
+ "\365\376\376\376\374\374\375\350\350\360\331\331\342\343\343\353\371\371"
+ "\373\376\376\376\356\356\363\307\307\321\305\305\317\332\332\342\330\330"
+ "\340\305\305\320\315\315\326\360\360\366\372\372\375\202\375\375\376\27\374"
+ "\374\374\364\364\367\350\350\355\320\320\327\277\277\307\305\305\312\301"
+ "\301\304\253\253\257\217\217\224\350\350\352\347\347\350\346\350\332\344"
+ "\347\314\344\350\274\342\350\255\341\351\237\340\351\220\337\352\201\336"
+ "\352s\336\353e\335\354V\335\355G\334\356:\202\334\3567\16\352\365\211\355"
+ "\366\232\221\223\214\220\220\221\240\240\241\262\262\263\304\304\305\322"
+ "\322\324\335\335\336\346\346\347\351\351\353\356\356\361\370\370\371\374"
+ "\374\374\202\375\375\375\12\362\362\365\351\351\355\361\361\364\367\367\372"
+ "\364\364\367\365\365\370\363\363\367\341\341\347\342\342\350\371\371\373"
+ "\204\376\376\376\11\350\350\355\315\315\326\327\327\336\352\352\357\355\355"
+ "\363\344\344\352\313\313\324\303\303\316\355\355\361\203\376\376\376\14\375"
+ "\375\375\376\376\376\355\355\361\277\277\313\275\275\310\320\320\332\326"
+ "\326\340\312\312\324\270\270\304\321\321\332\372\372\372\376\376\376\203"
+ "\375\375\375\202\376\376\376\11\346\346\353\315\315\325\331\331\337\344\344"
+ "\352\343\343\351\334\334\342\342\342\347\306\306\311??@\203\0\0\0\177\230"
+ "\230\231\335\335\335\270\270\270\275\275\275\275\275\301xyz\34\34\35\1\1"
+ "\1\10\10\11mmnc`p\231\234w\273\273\264\301\301\301\307\307\307\310\310\310"
+ "\264\264\264\263\263\272\210\210\214\262\271k\370\376k\313\345K\326\350m"
+ "\335\337\301\330\330\330\327\327\330\256\256\261ZVc\256\267q\337\376P\272"
+ "\332C\275\333I\275\331F\272\327D\270\325C\270\326B\267\324B\267\324A\273"
+ "\330?\254\305>\275\275\275\333\333\334\357\357\361\370\370\373\375\375\375"
+ "\376\376\376\372\372\374\346\346\352\322\322\331\314\314\325\310\310\321"
+ "\326\326\335\367\367\371\376\376\376\364\364\367\324\324\335\321\321\331"
+ "\320\320\331\305\305\321\342\342\350\375\375\376\376\376\376\362\362\366"
+ "\334\334\345\336\336\347\364\364\370\376\376\376\370\370\371\321\321\331"
+ "\302\302\315\333\333\343\341\341\350\315\315\326\305\305\317\346\346\354"
+ "\371\371\376\374\374\376\376\376\376\374\374\374\366\366\371\354\354\360"
+ "\324\324\332\276\276\306\302\302\310\303\302\305\257\257\262\222\222\226"
+ "\347\347\351\346\346\347\345\347\331\344\346\313\343\347\274\341\347\255"
+ "\341\350\236\340\350\217\337\351\201\336\352s\336\353d\335\354V\334\355G"
+ "\334\356:\334\3567\335\357@\354\366\226\343\354\233\206\206\206\222\222\224"
+ "\242\242\244\264\264\265\306\306\307\324\324\325\337\337\340\345\345\347"
+ "\352\352\354\361\361\363\371\371\371\374\374\374\375\375\375\374\374\375"
+ "\361\361\365\352\352\356\363\363\367\367\367\372\364\364\370\366\366\371"
+ "\361\361\365\337\337\345\2\347\347\354\374\374\375\203\376\376\376\4\374"
+ "\374\375\342\342\351\315\315\326\334\334\343\202\354\354\362\4\337\337\346"
+ "\306\306\320\314\314\326\365\365\367\202\376\376\376\6\375\375\375\376\376"
+ "\375\376\376\376\340\340\346\273\272\305\301\301\315\202\322\322\333\3\301"
+ "\301\315\273\273\307\344\344\351\202\376\376\376\203\375\375\375\12\376\376"
+ "\376\372\372\372\330\330\337\316\316\327\335\335\344\344\344\352\336\336"
+ "\344\334\334\343\240\240\242\25\25\26\202\0\0\0/\12\12\13bbb\270\270\267"
+ "\264\264\264\303\303\303\245\244\251..0\0\0\0\1\1\1||}\321\321\321\262\262"
+ "\263}}~\262\272[\360\366o\345\353\212\324\324\312\326\326\330\324\324\326"
+ "\314\314\315\264\263\267QP`\254\261s\353\376d\316\356K\330\354e\303\303\266"
+ "\332\332\334\333\333\334\257\256\257MKW\266\277r\317\362D\272\332G\274\332"
+ "G\271\330D\270\325C\271\324B\267\324B\267\324A\272\331A\252\304>\275\275"
+ "\276\334\334\335\360\360\361\371\371\373\372\372\374\202\376\376\376Q\364"
+ "\364\367\332\332\341\314\314\324\311\311\322\314\314\325\354\354\360\376"
+ "\376\376\372\372\374\336\336\346\321\321\332\326\326\340\313\313\325\323"
+ "\323\334\367\367\371\376\376\376\370\370\373\342\342\352\333\333\344\355"
+ "\355\363\375\375\376\374\374\375\335\335\344\300\300\314\330\330\340\346"
+ "\346\355\326\326\336\303\303\316\334\334\343\370\367\373\373\373\376\376"
+ "\376\376\374\374\374\370\370\371\356\356\362\331\331\336\276\276\306\300"
+ "\277\306\303\303\306\262\262\265\225\225\230\346\346\351\346\346\346\344"
+ "\346\330\343\346\312\342\346\273\341\347\254\337\350\235\336\350\216\335"
+ "\351\200\334\352q\334\353c\333\354T\333\355F\332\3568\332\3565\336\360J\354"
+ "\366\231\323\334\232\204\204\205\225\225\226\243\243\245\265\265\270\311"
+ "\311\312\326\326\327\337\337\341\345\345\347\353\353\355\362\362\364\372"
+ "\372\373\374\374\374\375\375\375\373\373\375\361\361\364\355\355\361\366"
+ "\366\371\367\367\372\366\366\372\367\367\373\355\355\362\340\340\346\356"
+ "\356\362\204\376\376\376\12\371\371\372\334\334\343\317\317\327\341\341\350"
+ "\356\356\364\353\353\361\330\330\340\303\303\316\333\333\343\374\374\375"
+ "\202\376\376\376\14\375\375\375\376\376\376\371\371\373\321\321\333\270\270"
+ "\303\306\306\321\322\321\334\315\315\326\272\272\306\307\307\321\366\365"
+ "\371\376\376\376\204\375\375\375\177\376\376\376\356\356\362\320\320\327"
+ "\322\322\333\340\340\345\341\341\346\332\332\341\344\344\350mmm\4\4\5\0\0"
+ "\1\0\0\0jjkcbc\262\262\263\307\307\307\221\221\223\13\13\13\0\0\0\26\27\30"
+ "\240\237\240\332\331\332\266\266\267\265\265\266\300\300\300\265\273n\372"
+ "\373}\336\345a\336\350\200\321\321\316\332\332\334\334\334\336\324\324\325"
+ "\240\253p\300\320d\344\376d\365\376[t\2075}}}\325\325\326\341\341\343\334"
+ "\334\336\275\305\177\264\315H\300\341H\272\330F\270\327E\272\324D\270\326"
+ "C\267\324B\267\324C\270\324A\272\330A\247\301=\276\276\276\334\334\336\360"
+ "\360\362\371\371\373\370\370\373\373\373\375\376\376\376\374\374\375\350"
+ "\350\356\320\320\327\312\312\322\310\310\321\340\340\347\374\374\375\376"
+ "\376\376\351\351\357\323\322\334\331\331\341\324\324\335\312\312\325\353"
+ "\353\361\376\376\376\375\375\375\353\353\361\333\333\344\350\350\357\373"
+ "\373\375\376\376\376\352\352\360\302\302\315\324\324\335\352\352\361\340"
+ "\340\350\307\307\321\320\320\331\362\362\367\374\374\376\375\375\376\374"
+ "\374\374\370\370\371\360\360\364\336\336\343\277\277\306\274\274\303\302"
+ "\302\305\264\264\267\230\230\233\345\345\350\345\345\346\343\345\327\342"
+ "\345\311\341\345\272\340\346\253\336\347\234\336\347\215\334\350\177\333"
+ "\351p\333\352b\332\353S\332\354E\331\3557\331\3554\337\360U\354\366\231\307"
+ "\316\230\206\206\210\227\227\230\246\246\250\270\270\272\312\312\313\330"
+ "\330\331\337\337\341\347\347\350\12\353\353\356\363\363\366\372\372\373\374"
+ "\374\374\375\375\375\372\372\374\357\357\364\356\356\362\367\366\372\370"
+ "\370\373\202\367\367\373\3\352\352\357\342\342\350\365\365\367\204\376\376"
+ "\376\11\366\366\370\330\330\337\322\322\332\345\345\353\356\356\364\351\351"
+ "\357\323\323\333\306\306\320\350\350\354\203\376\376\376\12\375\375\375\376"
+ "\376\376\363\363\366\306\306\321\271\271\305\311\311\323\320\320\332\307"
+ "\307\320\270\270\305\327\327\336\202\376\376\376\203\375\375\375\13\376\376"
+ "\376\375\374\375\341\341\347\314\314\324\327\327\337\336\336\345\333\333"
+ "\342\335\335\343\360\360\363\250\250\250RRS\202\0\0\0|''(\251\251\251\301"
+ "\301\301\330\330\330xxx###\0\0\0...\257\257\260\251\251\252\276\276\277\323"
+ "\323\324\333\333\333\261\267l\370\373v\341\352n\327\344_\332\341\223\322"
+ "\322\324\337\337\332\333\345\210\335\365b\347\376c\367\376[x\212833:\247"
+ "\246\251\323\323\324\343\343\345\336\350\226\315\352N\275\337B\276\334I\303"
+ "\343A\270\325C\267\322D\267\324C\270\325A\266\323@\265\323@\272\327@\245"
+ "\300<\276\276\276\335\335\336\361\361\362\372\372\374\371\371\373\370\370"
+ "\373\375\375\376\376\376\376\365\365\370\331\331\337\313\313\324\307\307"
+ "\320\323\323\334\366\366\371\376\376\376\363\363\367\327\327\340\332\332"
+ "\343\333\333\345\314\314\326\336\336\345\373\373\374\376\376\376\363\363"
+ "\370\336\336\346\343\343\353\370\370\373\376\376\376\362\362\365\310\307"
+ "\322\317\317\331\354\354\362\351\351\360\315\315\327\310\310\322\351\351"
+ "\357\374\374\376\375\375\376\374\374\374\371\371\372\361\361\365\341\341"
+ "\346\301\301\310\273\273\301\301\301\304\267\267\271\233\233\237\344\344"
+ "\347\344\344\345\342\344\326\341\344\310\337\344\272\336\345\252\335\346"
+ "\233\334\346\214\333\347~\332\350o\331\351a\330\352R\330\353D\327\3546\327"
+ "\3543\337\360^\353\365\230\272\277\227\211\211\212\232\232\233\250\250\251"
+ "\272\272\274\313\313\314\330\330\331\340\340\342\347\347\351\355\355\360"
+ "\365\365\367\373\373\374\374\374\374\375\375\375\371\371\374\360\360\364"
+ "\357\357\363\370\367\372\202\370\370\373\4\367\367\372\351\351\356\345\345"
+ "\352\371\371\372\204\376\376\376\11\364\364\367\325\325\335\324\324\334\350"
+ "\350\356\357\357\364\346\346\355\316\316\327\313\313\325\360\360\364\203"
+ "\376\376\376\14\375\375\375\376\376\376\356\356\361\277\276\312\272\272\306"
+ "\312\311\324\315\315\327\300\300\313\272\272\306\347\346\354\376\376\376"
+ "\376\375\375\203\375\375\375:\376\376\376\370\367\371\327\327\336\316\316"
+ "\326\331\330\340\335\335\343\331\331\340\344\344\351\370\370\371\352\352"
+ "\352rqr\27\26\27\0\0\0\1\1\1\200\200\202\306\306\306\334\334\335\260\260"
+ "\262mnn\0\0\0\2\2\2\201\201\203\264\264\266\324\324\324\351\351\351\351\351"
+ "\352\267\275q\361\373o\335\350h\336\355h\313\342R\326\332\236\341\352\177"
+ "\321\350_\347\376g\347\376Nt\205:!!*\217\216\221\277\277\300\325\325\327"
+ "\337\347\223\273\330F\263\324B\317\357M\311\352@\252\302G\306\3525\300\340"
+ ";\265\321?\264\321A\264\323?\262\320?\267\330?\243\275<\276\276\277\335\335"
+ "\336\361\361\362\202\372\372\374L\370\370\373\372\372\375\376\376\376\374"
+ "\374\374\345\345\353\315\315\326\310\310\320\316\316\327\356\356\363\376"
+ "\376\376\371\371\373\334\334\344\332\332\342\341\341\352\321\321\334\323"
+ "\323\335\365\365\370\376\376\376\370\370\373\343\343\353\341\341\351\365"
+ "\365\371\376\376\376\367\367\371\316\316\330\314\314\326\353\353\361\357"
+ "\357\365\325\325\335\304\304\317\341\342\350\374\374\376\375\375\376\373"
+ "\373\374\371\371\372\362\362\365\344\344\351\304\304\313\270\270\277\301"
+ "\301\303\267\267\271\240\240\241\343\343\346\343\343\344\341\343\326\340"
+ "\344\310\336\344\271\335\345\251\333\345\233\333\346\214\331\346~\330\350"
+ "o\327\350a\326\351R\326\353C\325\3546\325\3543\340\361h\352\365\230\255\263"
+ "\226\213\213\214\232\232\233\251\251\252\273\273\275\314\314\316\327\327"
+ "\331\337\337\341\351\351\353\356\356\361\366\366\370\373\373\374\374\374"
+ "\375\376\376\376\371\371\373\360\360\364\361\361\365\202\370\370\373\5\370"
+ "\370\374\366\366\371\347\347\355\351\351\357\372\372\374\204\376\376\376"
+ "\11\361\361\366\324\324\334\330\330\340\353\353\361\357\357\365\344\344\353"
+ "\312\312\323\323\323\334\372\371\374\202\376\376\376\14\376\375\376\375\375"
+ "\375\376\376\376\346\346\354\272\272\305\275\275\310\313\312\326\311\311"
+ "\322\273\273\307\302\302\315\364\364\365\376\376\376\204\375\375\375\5\376"
+ "\376\376\361\361\364\317\317\327\321\321\330\333\333\341\202\332\332\340"
+ "\5\356\356\362\374\374\374\364\364\364\241\241\241qpq\202\0\0\0""4\26\26"
+ "\27\273\273\274\324\324\326\325\325\327pppRRS\0\0\0\25\25\25\253\253\255"
+ "\330\330\330\354\354\355\351\351\353\277\310|\347\367d\330\351b\330\352e"
+ "\323\351`\320\347U\326\361^\357\376`\267\336+frD21>\221\220\221\276\276\276"
+ "\323\323\311\331\343\200\265\326>\276\334H\334\376M\256\322*U^8\201\200\210"
+ "\225\233r\256\3146\305\353.\271\3339\263\316?\262\320?\267\330>\240\272:"
+ "\275\275\276\335\335\336\361\361\362\372\372\374\373\373\375\371\371\373"
+ "\370\370\373\374\374\375\376\376\376\360\360\364\325\325\334\202\311\311"
+ "\322\1\345\345\352\202\374\374\375A\345\345\352\332\332\342\345\345\354\333"
+ "\333\344\316\316\330\351\351\357\376\376\376\373\373\375\353\353\362\341"
+ "\341\351\362\362\366\376\376\376\374\374\375\327\327\340\311\311\323\351"
+ "\351\360\365\365\372\337\337\347\305\305\317\330\330\340\372\372\375\376"
+ "\376\376\373\373\374\372\372\372\363\363\366\350\350\354\307\307\315\267"
+ "\267\275\300\300\303\271\271\271\242\242\243\343\343\346\342\342\343\340"
+ "\342\325\337\342\306\335\342\267\334\343\250\332\344\231\331\344\212\330"
+ "\345|\327\346m\326\347^\325\350O\324\351A\323\3523\323\3520\340\360o\351"
+ "\364\227\244\247\223\215\215\216\235\235\236\251\251\253\274\274\276\315"
+ "\315\317\327\327\332\340\340\342\352\352\354\357\357\361\366\366\370\372"
+ "\372\374\374\374\375\375\375\376\370\370\373\360\360\364\362\362\366\202"
+ "\370\370\373\7\370\370\374\364\364\370\347\347\354\356\356\363\374\374\375"
+ "\375\375\376\374\374\376\202\376\376\376\10\356\356\363\324\324\334\333\333"
+ "\343\355\355\363\357\357\364\340\340\347\311\311\323\335\335\343\202\376"
+ "\376\376\203\376\375\376\12\375\375\376\336\336\345\267\267\303\300\300\314"
+ "\313\313\326\305\305\317\271\271\305\315\315\327\371\371\372\376\376\376"
+ "\203\375\375\375\202\375\375\376\14\350\350\355\314\314\324\322\322\332\331"
+ "\331\340\327\327\336\336\336\344\366\366\370\376\376\376\372\372\372\352"
+ "\352\353zz{WWX\202\0\0\0,[Z\\\307\307\311\322\322\324\261\261\262\202\203"
+ "\203'%'\0\0\0BBB\306\306\307\336\336\337\341\341\343\274\307y\343\370^\321"
+ "\347_\323\353_\331\364a\345\376_\322\371;}\227\23x}oljz\251\251\247\301\301"
+ "\302\337\337\272\322\343n\261\325;\314\354P\327\374=\205\242(MPEUT[\233\232"
+ "\234\234\232\241\212\211\213\221\233a\264\3251\267\336,\255\3139\267\327"
+ ">\235\270:\274\274\275\335\335\336\361\361\362\372\372\374\202\373\373\375"
+ "\20\370\370\372\372\372\374\376\376\376\370\370\373\340\340\347\314\314\325"
+ "\311\311\321\334\334\344\371\371\373\376\376\376\353\353\362\333\333\344"
+ "\346\346\356\344\344\355\321\321\333\340\340\346\202\375\375\376:\362\362"
+ "\366\342\342\352\357\357\364\375\375\376\376\376\376\337\337\345\310\310"
+ "\322\350\350\357\371\371\376\352\352\361\311\311\323\317\317\331\365\365"
+ "\371\376\376\376\373\373\374\372\372\372\364\364\366\352\352\357\312\312"
+ "\320\265\265\274\276\276\302\271\271\271\243\243\244\342\342\345\341\341"
+ "\343\337\341\324\336\342\306\334\342\266\332\343\247\331\343\230\330\344"
+ "\211\326\344{\325\346l\324\346]\323\347N\322\351@\321\3522\321\352/\341\361"
+ "w\350\364\226\232\235\220\217\217\220\235\235\237\253\253\255\274\274\276"
+ "\315\315\317\326\326\330\340\340\343\352\352\354\360\360\362\365\365\370"
+ "\372\372\374\373\373\375\374\374\376\367\367\372\361\361\365\363\363\366"
+ "\367\367\372\202\370\370\373\20\362\362\366\350\350\355\362\362\366\375\375"
+ "\376\374\374\376\371\371\375\375\375\376\376\375\376\354\354\361\325\325"
+ "\335\335\335\344\356\356\364\356\356\363\335\335\344\312\312\324\343\343"
+ "\352\202\376\376\376\13\376\375\376\375\375\375\375\375\376\374\374\375\326"
+ "\326\337\266\266\303\301\301\314\314\314\325\302\302\315\267\267\303\330"
+ "\330\340\202\375\375\376\203\375\375\375\177\375\375\376\374\374\375\340"
+ "\340\346\314\314\325\323\323\333\330\330\337\327\327\335\344\344\351\375"
+ "\375\376\376\376\376\375\375\375\362\362\364\313\313\315}|}334\0\0\0\1\1"
+ "\2\203\204\205\312\312\315\321\321\323\224\224\224\202\201\202+*-\0\0\0""1"
+ "11\270\267\275\316\316\320\272\306y\362\374X\343\376V\333\376I\306\3477\225"
+ "\262,v\201U\255\254\270\262\262\272\257\257\260\300\300\275\342\352\217\300"
+ "\331N\266\332=\327\373L\256\321\34fu2__atty\264\264\265\277\277\277\303\303"
+ "\304\253\252\261\217\215\236tr\221\247\257o\276\336;\263\3248\232\2648\272"
+ "\272\273\335\335\336\361\361\362\372\372\374\373\373\375\374\374\376\371"
+ "\371\373\370\370\372\375\375\376\374\374\375\353\353\360\321\321\331\310"
+ "\310\322\330\330\337\364\364\371\376\376\376\362\362\367\334\334\345\347"
+ "\347\357\352\352\362\327\327\340\333\333\343\372\372\374\376\376\376\366"
+ "\366\371\344\344\354\354\354\363\374\374\376\376\376\376\343\343\351\310"
+ "\310\322\345\345\355\372\372\376\361\361\366\316\316\327\313\313\324\361"
+ "\361\364\376\376\376\373\373\374\371\371\372\364\364\366\354\354\360\313"
+ "\313\322\263\263\273\275\275\302\270\270\270\244\244\244\341\341\344\340"
+ "\340\342\337\341\323\334\340\305\332\340\265\331\341\246\327\342\226\326"
+ "\342\210\325\343z\323\344j\322\345\\\321\346M\320\347>\317\3500\317\350-"
+ "\341\360}\347\363\225\224\226\215\220\220\221\237\237\240\253\253\255\275"
+ "\275\277\315\315\317\327\327\331\36\341\341\344\353\353\356\360\360\362\365"
+ "\365\370\371\371\373\372\372\374\373\373\376\367\367\372\361\361\365\363"
+ "\363\367\366\366\372\367\367\373\370\370\373\361\361\365\351\351\356\366"
+ "\366\370\376\376\376\371\371\374\367\367\374\373\373\376\375\375\376\352"
+ "\352\357\326\326\336\340\340\347\357\357\365\355\355\363\331\331\341\313"
+ "\313\325\352\352\357\376\376\376\202\375\375\376\13\375\375\375\376\376\376"
+ "\373\373\374\323\323\334\267\267\304\302\302\315\311\311\323\277\277\313"
+ "\271\271\306\342\342\347\376\376\376\204\375\375\375\10\376\376\376\373\373"
+ "\374\333\333\342\315\315\325\325\325\335\327\327\336\331\331\337\353\353"
+ "\357\202\376\376\376\177\375\376\376\371\371\371\356\356\357\256\256\257"
+ "\204\204\205\32\32\32\0\0\0\6\6\6\240\240\243\311\311\314\321\321\321\210"
+ "\210\210ccdLLM\0\0\0\14\14\15jjo\215\217\200\200\214Y\223\236e\237\253}\245"
+ "\250\242\262\260\300\310\306\313\262\262\257\260\260\262\326\331\230\324"
+ "\345f\266\326B\311\356H\303\346-t\217\12rwb\202\201\210\231\230\234\270\270"
+ "\271\314\314\316\334\334\334\336\336\340\330\330\332\314\314\316\275\300"
+ "\217\274\311o\260\3176\264\3216\226\2616\271\271\272\335\335\336\361\361"
+ "\362\371\371\373\373\373\374\375\375\376\373\373\375\370\370\373\373\373"
+ "\375\375\375\376\362\362\366\330\330\337\312\312\323\324\324\334\361\361"
+ "\365\376\376\376\366\366\370\337\337\350\347\347\357\356\356\364\336\336"
+ "\347\330\330\342\364\364\370\376\376\376\371\371\374\350\350\360\353\353"
+ "\362\373\373\375\376\376\376\350\350\355\311\311\323\343\343\353\373\373"
+ "\376\366\366\372\325\325\336\311\311\323\355\355\361\376\376\376\373\373"
+ "\374\371\371\372\364\364\366\355\355\360\316\316\324\263\263\273\274\274"
+ "\300\270\270\270\244\244\244\340\340\343\337\337\341\335\340\323\333\337"
+ "\304\331\337\265\330\340\245\326\341\226\325\341\207\323\342y\321\343i\320"
+ "\344[\317\345L\316\346=\315\347/\315\347,\341\360\202\346\363\225\216\217"
+ "\211\221\221\222\237\237\241\253\253\255\274\274\277\313\313\316\325\325"
+ "\330\341\341\344\355\355\357\360\360\363\364\364\367\370\370\372\371\371"
+ "\374\372\372\375\366\366\372\362\362\366\363\363\367\24\366\366\371\367\367"
+ "\373\367\367\372\357\357\364\353\353\360\367\367\372\375\375\376\366\366"
+ "\372\365\365\371\372\372\375\375\375\376\351\351\356\327\327\336\342\342"
+ "\351\360\360\366\353\353\361\326\326\337\317\317\330\361\361\366\376\376"
+ "\376\202\375\375\376\13\375\375\375\376\376\376\372\372\373\317\317\330\270"
+ "\270\304\305\305\316\310\310\323\274\274\307\275\275\311\351\351\355\376"
+ "\376\376\204\375\375\375\10\376\376\376\372\372\373\327\327\336\316\316\326"
+ "\324\324\334\326\326\335\334\334\343\363\363\366\202\376\376\376\177\375"
+ "\375\376\372\372\374\366\366\367\354\354\354\240\240\240\202\202\202\37\37"
+ "\37\0\0\0\7\7\7\232\232\234\315\315\317\326\326\326\236\236\236\210\210\210"
+ "\200\200\202,,+\24\24\26cbl}|\200\214\212\222\263\260\265\306\306\257\266"
+ "\266\252\267\267\251\322\327\211\323\343^\275\333G\274\341;\301\346-\204"
+ "\244\6mz?\237\237\241\251\250\261\265\265\265\302\302\303\320\320\321\341"
+ "\341\342\355\355\356\357\357\360\351\351\310\336\347w\276\3328\245\310#\250"
+ "\3054\266\3238\223\2542\270\270\271\334\334\335\361\361\362\371\371\373\372"
+ "\372\374\375\375\376\374\374\376\370\370\373\372\372\374\374\374\376\370"
+ "\370\373\341\341\347\314\314\326\323\323\334\355\355\362\376\376\376\370"
+ "\370\372\345\345\354\347\347\357\360\360\365\344\344\354\331\331\341\360"
+ "\360\364\376\376\376\374\374\375\355\355\363\353\353\362\372\372\374\376"
+ "\376\376\354\354\361\313\313\325\342\342\352\373\373\375\372\372\375\334"
+ "\334\345\310\310\322\350\350\356\376\376\376\374\374\374\371\371\372\365"
+ "\365\366\357\357\361\322\322\327\263\263\273\273\273\277\270\270\270\244"
+ "\244\244\337\337\343\336\336\340\334\337\322\332\336\303\330\336\264\326"
+ "\337\244\324\340\225\323\340\206\321\341x\317\342h\316\343Z\314\344K\313"
+ "\345<\312\346.\312\346+\341\361\207\344\362\224\211\212\206\222\222\223\237"
+ "\237\241\254\254\256\274\274\277\313\313\316\325\325\330\341\341\344\355"
+ "\355\357\357\357\362\364\364\367\367\367\372\370\370\373\372\372\374\366"
+ "\366\371\363\363\366\363\363\367\24\365\365\370\366\366\372\366\366\371\357"
+ "\357\363\355\355\362\371\371\373\374\374\375\364\364\370\363\363\367\371"
+ "\371\374\375\375\376\352\352\357\330\330\340\344\344\353\360\360\366\352"
+ "\352\360\325\325\335\323\323\334\367\367\371\376\376\376\202\375\375\376"
+ "\13\375\375\375\376\376\376\371\371\373\315\315\326\272\272\305\305\305\320"
+ "\310\310\322\272\272\307\302\302\316\360\360\363\376\376\376\204\375\375"
+ "\375\10\376\376\376\366\366\371\324\324\334\317\317\327\325\324\334\327\327"
+ "\335\341\341\346\371\371\372\202\376\376\3761\375\375\376\374\374\375\373"
+ "\373\373\366\366\366\350\350\350\231\231\232sst;;=\0\0\0\3\3\3qqr\311\310"
+ "\312\323\323\323\307\307\310\255\255\255\214\214\214^^d\232\241d\305\312"
+ "\220\305\311\226\312\316\227\325\335w\322\342V\306\335J\271\331:\263\333"
+ ".\254\321\33\214\252\27s\200>\237\240\235\305\302\320\261\261\265\271\271"
+ "\272\316\316\317\336\336\336\345\345\346\350\350\352\355\355\307\335\346"
+ "}\274\321G\237\276-\237\277,\251\3054\250\3045\260\3224\216\2470\266\266"
+ "\270\334\334\334\361\361\363\202\371\371\373\202\375\375\376K\372\371\375"
+ "\370\370\372\374\374\375\372\372\375\350\350\355\322\322\332\323\323\334"
+ "\353\353\360\376\376\376\371\371\374\351\351\357\351\351\360\360\360\366"
+ "\351\351\361\333\333\344\355\355\362\376\376\376\375\375\376\360\360\366"
+ "\353\353\363\372\372\374\376\376\376\360\360\365\316\316\327\341\341\351"
+ "\373\373\375\375\375\376\344\344\353\312\312\323\343\343\352\375\376\376"
+ "\374\374\374\371\371\372\366\366\366\360\360\362\323\323\331\263\263\272"
+ "\273\273\276\270\270\270\244\244\244\336\336\342\335\335\337\333\336\321"
+ "\331\336\302\327\336\263\325\337\243\323\337\224\322\340\205\320\340w\316"
+ "\341g\315\342Y\313\343J\312\344;\311\346-\311\346*\342\361\214\344\362\224"
+ "\204\205\203\223\223\225\240\240\242\253\253\256\275\275\277\313\313\316"
+ "\324\324\330\343\343\346\355\355\357\357\357\362\365\365\367\366\366\371"
+ "\370\370\372\371\371\374\366\366\371\364\364\367\363\363\367\364\364\370"
+ "\202\365\365\370\202\357\357\364\2\372\372\374\373\373\375\202\361\361\366"
+ "\13\370\370\373\375\375\376\352\352\357\332\332\341\345\345\353\361\361\366"
+ "\351\351\357\324\324\335\326\326\336\370\370\372\376\376\376\202\375\375"
+ "\376\13\375\375\375\376\376\376\371\371\372\314\314\326\273\273\307\307\307"
+ "\320\306\306\322\273\273\306\310\310\323\366\366\371\376\376\376\204\375"
+ "\375\375\10\376\376\376\363\363\366\324\324\333\321\321\330\325\325\334\327"
+ "\327\336\345\345\352\372\372\373\202\376\376\376\11\375\375\376\374\374\375"
+ "\375\375\376\374\374\374\365\365\365\343\343\344\225\225\225cddYY[\202\0"
+ "\0\0\36../\233\233\235\305\305\307\306\306\310\277\277\301\260\260\261\252"
+ "\270[\317\355=\302\340=\272\3334\263\3270\253\321)\243\311\40\233\271,\220"
+ "\242D\222\232s\253\253\256\306\306\321\273\273\276\262\262\265\300\300\301"
+ "\317\317\320\340\340\341\353\355\335\346\352\247\326\341m\266\316C\234\276"
+ "+\232\276'\245\3031\202\245\3033\6\244\3030\257\3164\212\244.\266\266\267"
+ "\333\333\334\362\362\363\202\371\371\373S\375\374\375\375\375\376\373\373"
+ "\375\370\370\372\372\372\375\374\374\376\354\354\361\325\325\336\325\324"
+ "\335\351\351\357\375\375\376\372\372\374\353\353\362\353\353\361\361\361"
+ "\366\355\355\364\337\337\347\354\354\361\376\376\376\375\375\376\362\362"
+ "\367\354\354\363\371\371\373\376\376\376\363\363\367\321\321\332\341\341"
+ "\351\373\373\375\376\376\376\352\352\357\314\314\326\340\340\347\374\375"
+ "\376\374\374\374\371\371\372\366\366\366\361\361\362\325\325\331\264\264"
+ "\273\273\273\277\270\270\270\244\244\244\335\335\341\334\334\337\332\335"
+ "\320\330\334\302\325\334\262\323\335\243\321\336\223\317\336\204\316\337"
+ "v\314\340g\312\341X\311\342I\307\343:\306\344,\306\344)\341\360\216\342\361"
+ "\223\202\202\202\223\223\225\241\241\242\254\254\256\275\275\277\311\311"
+ "\314\323\323\327\342\342\345\354\354\356\356\356\361\364\364\367\366\366"
+ "\370\367\367\372\370\370\373\365\365\370\364\364\370\363\363\367\363\363"
+ "\366\364\364\370\363\363\367\357\357\363\360\360\365\373\373\375\370\370"
+ "\374\202\356\356\363\13\366\366\371\375\375\376\353\353\360\333\333\343\346"
+ "\346\355\361\361\366\350\350\356\324\324\335\333\333\342\371\371\373\376"
+ "\376\376\202\375\375\376\13\375\375\375\376\376\376\371\370\372\314\314\326"
+ "\275\274\310\307\307\322\307\306\321\274\274\307\317\317\330\373\373\375"
+ "\376\376\376\204\375\375\375\10\376\376\376\362\362\366\324\324\333\322\322"
+ "\331\325\325\335\330\330\337\350\350\355\373\373\375\202\376\376\376\203"
+ "\375\375\376\10\376\376\376\374\374\374\361\361\361\333\333\335\256\256\260"
+ "rrsxxz/.0\202\0\0\0""8++,jjk\245\245\250\270\271\272\227\237s\210\231E\214"
+ "\236O\221\241Y\224\240c\245\254\211\253\257\246\266\267\275\303\300\320\311"
+ "\310\322\274\274\274\275\275\275\305\305\305\314\314\315\326\326\306\336"
+ "\343\240\330\342v\300\323K\252\3065\230\272'\231\273&\244\3021\246\3033\245"
+ "\3032\245\3010\245\3020\244\2770\257\3152\210\240,\266\266\267\333\333\334"
+ "\362\362\363\371\371\373\370\370\372\374\374\375\375\375\376\374\374\375"
+ "\367\367\372\370\370\374\373\373\376\361\361\365\332\332\342\326\326\336"
+ "\352\352\357\375\375\376\373\373\374\356\356\364\354\354\363\360\360\367"
+ "\357\357\365\343\343\353\353\353\360\202\375\375\3765\364\364\372\355\355"
+ "\364\371\371\373\376\376\376\365\365\371\323\323\335\342\342\352\373\373"
+ "\375\376\376\376\357\357\364\317\317\331\334\334\344\373\373\375\373\373"
+ "\374\371\371\372\366\366\366\361\361\362\326\326\332\264\264\274\274\274"
+ "\300\270\270\270\243\243\244\334\334\340\333\333\336\330\333\317\326\333"
+ "\300\324\333\260\322\334\241\320\335\221\316\335\202\314\336t\312\337d\310"
+ "\337U\307\341F\306\3427\304\343)\304\343&\340\360\217\341\361\222\200\200"
+ "\200\223\223\225\242\242\243\253\254\256\274\274\277\310\310\313\322\322"
+ "\326\342\342\345\354\355\357\355\355\360\363\363\366\364\364\367\366\366"
+ "\371\367\367\372\202\365\365\370\25\363\363\366\361\361\365\362\362\366\363"
+ "\363\367\357\357\364\362\362\366\373\373\375\366\366\371\354\354\361\354"
+ "\353\361\364\364\370\375\375\376\354\354\361\335\335\344\347\347\355\361"
+ "\361\366\347\347\356\325\325\335\337\337\346\373\373\374\376\376\376\202"
+ "\375\375\376\11\375\375\375\376\376\376\371\371\372\317\317\327\275\275\312"
+ "\310\310\323\307\307\320\275\275\310\323\323\333\202\375\375\376\204\375"
+ "\375\375\10\376\376\376\362\362\365\324\324\334\323\323\332\326\326\335\332"
+ "\332\340\354\354\360\375\375\375\202\376\376\376\203\375\375\376\202\376"
+ "\376\376!\367\367\370\351\351\354\336\336\340\317\317\321\237\237\240\230"
+ "\231\230\177}\177BBD\3\3\3\2\2\3\7\7\7//0nj|}|\207\217\215\231\237\236\253"
+ "\257\255\275\300\300\277\305\305\272\275\275\270\270\270\271\273\273\274"
+ "\304\306\276\324\327\251\334\343\215\320\335f\275\317I\250\3032\230\271&"
+ "\225\265$\234\273)\242\276-\242\276/\204\241\276.\7\240\276.\241\275.\257"
+ "\315/\206\235+\267\267\267\333\333\334\362\362\363\202\370\370\372\16\375"
+ "\374\375\375\375\376\374\374\376\370\370\373\367\367\372\372\372\375\364"
+ "\364\371\337\337\346\331\331\340\352\352\360\374\374\376\373\373\375\360"
+ "\360\365\357\357\365\202\357\357\3663\347\347\357\351\351\360\374\373\375"
+ "\375\375\376\366\366\373\357\357\366\371\371\373\376\376\376\366\366\371"
+ "\326\326\337\344\344\354\373\373\375\376\376\376\362\362\367\323\323\334"
+ "\333\333\343\373\373\374\373\374\374\371\371\372\365\365\366\361\361\362"
+ "\327\327\332\264\264\274\274\274\300\270\270\270\243\243\244\333\333\337"
+ "\332\332\335\327\332\316\325\332\277\322\332\257\320\333\240\316\333\220"
+ "\314\333\201\312\334r\310\335c\306\336S\304\337D\303\3405\301\341'\301\341"
+ "$\337\357\220\340\360\221\177\177\200\224\224\225\241\241\243\253\252\255"
+ "\273\273\276\307\307\312\322\322\325\343\343\345\202\354\354\357\33\363\363"
+ "\366\364\364\367\366\366\371\366\366\372\364\364\370\365\365\371\363\363"
+ "\367\360\360\365\361\361\365\361\361\366\360\360\364\363\363\367\373\373"
+ "\375\365\365\370\351\351\357\352\352\357\363\363\367\375\375\376\356\356"
+ "\363\336\336\345\347\347\355\361\360\366\347\347\355\326\326\336\341\341"
+ "\350\373\373\375\376\376\376\202\375\375\376\11\375\375\375\376\376\376\372"
+ "\372\373\321\321\331\277\277\312\310\310\322\306\306\320\275\275\312\326"
+ "\326\335\202\375\375\376\204\375\375\375\10\376\376\376\363\363\366\326\326"
+ "\335\324\324\334\330\330\336\332\332\341\357\357\362\375\375\376\202\376"
+ "\376\376\202\375\375\376\203\376\376\376\37\371\371\372\357\357\362\353\353"
+ "\355\343\343\346\336\336\336\314\314\314\262\261\261\230\230\231\177\177"
+ "\177jjkQQP32=\216\220y\271\271\271\267\266\270\266\266\264\272\274\262\304"
+ "\304\260\317\321\246\323\330\221\320\332r\314\331V\275\321E\254\3036\233"
+ "\271(\224\263\40\220\263\37\231\266'\240\273*\240\275.\237\272-\203\237\274"
+ ",\203\240\274,\7\240\274+\237\272-\254\313.\203\232*\266\266\270\333\333"
+ "\334\362\362\363\202\370\370\372\1\375\374\375\202\374\374\376\15\370\370"
+ "\373\366\366\371\372\372\375\366\366\372\342\342\351\335\335\343\355\355"
+ "\362\374\374\376\373\373\374\362\362\366\360\360\366\357\357\366\356\356"
+ "\365\202\351\351\361A\373\373\375\375\375\376\367\367\374\361\361\367\371"
+ "\371\374\376\376\376\365\365\371\327\327\340\347\347\356\374\374\376\376"
+ "\376\376\364\364\370\326\326\337\333\333\342\373\373\374\374\374\374\371"
+ "\371\372\365\365\366\361\361\362\326\326\332\265\265\275\275\275\301\270"
+ "\270\270\243\243\244\332\332\337\331\331\334\326\331\316\324\331\277\321"
+ "\331\257\316\332\237\315\333\220\312\333\201\310\333r\306\335c\304\335T\303"
+ "\337E\301\3406\277\341(\277\341%\336\357\221\337\360\221\177\177\200\223"
+ "\223\224\240\240\242\252\252\255\272\272\274\306\306\311\321\321\325\343"
+ "\343\345\353\353\355\354\354\357\362\362\365\364\364\367\365\365\370\366"
+ "\366\371\363\363\367\366\366\371\363\363\366\360\360\363\360\360\364\361"
+ "\360\365\360\360\365\363\363\367\373\373\375\364\364\367\202\350\350\355"
+ "\13\361\361\365\375\374\376\357\357\364\340\340\347\347\347\355\360\360\365"
+ "\346\346\355\327\327\337\343\343\352\373\373\375\376\376\376\202\375\375"
+ "\376\11\375\375\375\376\376\376\372\372\373\324\324\333\301\301\313\311\311"
+ "\322\306\306\321\277\277\314\330\330\337\202\375\375\376\204\375\375\375"
+ "\10\376\376\376\364\364\370\331\330\337\326\326\334\331\331\340\334\334\342"
+ "\360\360\363\375\375\376\202\376\376\376\2\375\376\376\375\375\376\203\376"
+ "\376\376u\371\371\372\361\361\363\360\360\362\355\355\357\357\357\360\352"
+ "\352\352\337\337\337\317\317\320\262\262\263\216\216\215yxzont\250\261V\311"
+ "\333G\301\323H\273\320?\266\3137\262\3078\243\2750\231\267&\225\264#\215"
+ "\256\36\215\257\36\221\263!\227\266'\234\270(\234\270*\233\272)\234\270("
+ "\235\272)\237\272+\236\271,\236\273,\235\270+\237\272-\236\273,\235\273,"
+ "\237\273-\236\271-\253\312.\202\231+\267\267\270\334\334\335\362\362\363"
+ "\367\367\371\370\370\372\375\375\375\374\374\375\375\375\376\370\370\373"
+ "\366\366\370\371\371\374\367\367\373\346\346\353\340\340\347\356\356\364"
+ "\374\373\376\373\373\375\363\363\370\361\361\367\357\356\364\357\357\365"
+ "\353\353\363\353\353\362\373\373\374\375\375\376\370\370\374\363\363\370"
+ "\372\372\374\376\376\376\365\365\371\332\332\342\352\352\360\374\374\376"
+ "\376\376\376\365\365\372\327\327\341\333\333\342\373\373\374\374\374\374"
+ "\371\371\372\365\365\366\361\361\362\326\326\332\265\265\275\277\277\302"
+ "\270\270\270\243\243\244\331\331\336\330\330\333\325\330\315\323\330\276"
+ "\320\330\256\315\331\236\313\332\217\311\332\200\306\332q\305\334b\302\334"
+ "S\301\335D\277\3375\275\340'\275\340$\335\357\216\336\357\221\200\200\200"
+ "\222\222\224\240\240\241\251\251\253\271\271\273\304\304\310\320\320\324"
+ "\342\342\344\351\351\354\352\352\355\361\361\364\363\363\366\202\365\365"
+ "\370\3\363\363\366\366\366\371\363\363\366\202\356\356\362\5\360\360\364"
+ "\361\361\365\364\364\370\372\372\375\362\362\365\202\346\346\354\12\356\356"
+ "\363\374\374\376\361\361\365\341\341\350\347\347\355\357\357\365\346\346"
+ "\355\330\330\340\346\346\354\374\374\375\203\375\375\376\11\375\375\375\376"
+ "\376\376\373\372\374\327\327\336\304\304\316\311\311\323\310\307\321\303"
+ "\303\315\334\334\342\202\375\375\376\204\375\375\375\7\376\376\376\367\367"
+ "\371\333\333\341\330\330\336\333\333\341\336\336\343\362\362\364\210\376"
+ "\376\376\30\372\372\373\362\362\364\360\360\363\361\361\363\367\367\370\371"
+ "\371\371\363\363\363\350\350\351\334\334\335\323\323\325\314\314\315\310"
+ "\310\311\242\257[\200\247\5\200\243\13\205\246\17\207\252\21\211\251\22\217"
+ "\257\26\224\263\33\226\265\35\231\266\40\233\267!\232\270\40\202\233\272"
+ "\"\40\233\271!\232\272#\233\274$\235\273#\234\275%\236\277%\242\301)\244"
+ "\303+\247\307.\253\3110\255\3131\255\3123\255\3132\274\3343\204\234+\270"
+ "\270\271\334\334\335\361\361\362\367\367\370\370\370\372\375\375\375\374"
+ "\374\375\375\375\376\371\371\373\364\364\370\370\370\373\371\371\374\351"
+ "\351\357\345\345\352\362\362\366\374\374\376\372\372\374\202\363\363\370"
+ "\2\354\354\363\356\356\364\202\355\355\364\14\372\372\374\375\375\376\371"
+ "\371\374\365\365\372\372\372\375\376\376\376\365\365\371\334\334\345\354"
+ "\354\362\374\374\376\376\376\376\367\367\373\202\333\333\343&\373\373\374"
+ "\374\374\374\371\371\372\365\365\366\361\361\362\326\326\332\267\267\276"
+ "\301\301\303\270\270\270\243\243\244\327\327\335\327\327\332\324\327\314"
+ "\322\330\275\317\330\255\314\330\235\313\331\216\310\331\200\306\332p\304"
+ "\333a\302\334R\300\335C\277\3364\275\340&\275\340#\334\356\213\336\357\220"
+ "\202\202\202\222\222\223\240\240\242\250\250\252\265\265\267\302\302\305"
+ "\317\317\322\342\342\344\347\347\352\350\350\353\360\360\363\202\363\363"
+ "\366#\365\365\370\362\362\365\366\366\371\363\363\367\355\355\361\354\354"
+ "\361\357\357\364\362\362\366\364\364\370\371\371\374\360\360\365\345\345"
+ "\353\344\344\352\353\353\361\373\373\375\363\363\367\343\343\352\347\347"
+ "\355\356\356\364\346\346\354\332\332\342\350\350\356\374\374\375\373\373"
+ "\376\374\374\376\375\375\376\375\375\375\375\375\376\373\373\374\333\333"
+ "\342\305\305\317\312\312\324\310\310\322\305\305\317\335\335\344\202\375"
+ "\375\376\204\375\375\375\7\376\376\376\371\371\373\337\337\345\331\331\337"
+ "\334\334\342\337\337\345\362\362\365\210\376\376\376\17\373\373\374\363\363"
+ "\365\360\360\363\361\361\363\371\371\372\376\376\376\374\374\374\367\367"
+ "\370\357\357\360\351\351\352\344\344\345\337\337\340\252\265i\226\264\14"
+ "\227\263\31\202\225\263\26c\223\263\27\223\261\25\223\260\23\221\260\23\221"
+ "\257\21\215\260\20\221\261\22\216\255\17\215\255\16\214\253\17\217\255\17"
+ "\217\257\17\216\257\16\217\257\17\214\254\14\210\251\11\204\243\7\202\241"
+ "\4~\235\4}\234\4{\232\4{\231\4\204\246\3p\203\40\272\272\272\335\335\336"
+ "\360\360\361\366\366\367\371\371\372\375\375\375\374\374\375\375\375\376"
+ "\370\370\372\364\364\367\370\370\373\371\371\374\355\355\361\351\351\356"
+ "\364\364\370\373\373\376\370\370\373\364\364\370\363\363\370\353\353\362"
+ "\355\355\363\357\357\366\357\357\365\373\373\374\375\375\376\372\371\375"
+ "\366\366\373\373\373\375\376\376\376\364\364\370\336\336\346\357\357\364"
+ "\374\374\376\376\376\376\370\370\373\335\335\345\334\334\344\373\373\374"
+ "\374\374\374\371\371\372\365\365\366\360\360\362\324\324\331\271\271\300"
+ "\303\303\307\270\270\270\243\243\244\326\326\334\326\326\331\323\326\313"
+ "\320\326\274\316\327\255\313\327\235\311\330\216\307\331\200\305\332q\303"
+ "\333a\301\334R\277\335D\276\3365\274\340'\274\340$\333\356\210\335\357\221"
+ "\204\205\203\220\220\221\240\240\242\251\251\253\264\264\267\300\300\302"
+ "\315\315\320\340\340\343\347\347\352\347\347\353\360\360\363\202\363\363"
+ "\366\20\364\364\370\361\361\365\365\365\371\363\363\367\354\354\361\353\353"
+ "\360\356\356\363\362\362\366\364\364\370\370\370\374\357\357\364\343\343"
+ "\352\343\343\351\351\351\357\371\371\374\365\365\371\202\346\346\354\21\355"
+ "\355\363\346\346\355\333\333\343\351\351\357\374\374\375\371\371\375\373"
+ "\373\375\376\376\376\375\375\375\375\375\376\374\374\375\337\340\346\307"
+ "\307\321\312\312\324\311\311\323\307\307\320\336\336\345\202\375\375\376"
+ "\204\375\375\375\10\376\376\376\374\374\374\343\343\350\332\332\340\336\336"
+ "\343\341\340\346\362\362\365\375\375\376\207\376\376\376\5\374\374\375\364"
+ "\364\366\360\360\363\361\361\363\370\370\372\202\376\376\376\6\374\374\374"
+ "\367\367\371\365\365\366\363\363\364\353\353\355\231\232\216\202\220\221"
+ "\200\202\217\221\200=\215\220\177\215\220~\214\220~\214\220}\215\221~\220"
+ "\225\200\223\227\202\226\233\205\231\235\207\236\242\214\244\250\221\247"
+ "\254\225\251\255\227\250\254\227\245\251\223\241\245\217\235\241\213\231"
+ "\236\211\227\233\210\226\232\210\225\232\212\227\233\213\231\235\215\236"
+ "\242\224\302\302\304\342\342\342\361\361\363\365\365\367\371\371\373\375"
+ "\375\375\374\374\375\375\375\376\370\370\372\363\363\367\370\370\373\372"
+ "\372\375\357\357\364\356\356\362\367\367\373\372\372\375\367\367\373\365"
+ "\365\372\362\362\367\351\351\360\354\354\362\360\357\366\360\360\367\373"
+ "\373\375\375\375\375\372\372\375\370\370\375\373\373\375\375\375\376\363"
+ "\363\366\341\341\351\361\361\367\374\374\376\376\376\376\367\367\373\337"
+ "\337\345\337\336\346\202\373\373\374A\371\371\372\365\365\366\360\360\361"
+ "\322\322\330\273\273\302\305\305\310\271\271\271\243\243\244\325\325\333"
+ "\325\325\330\322\325\312\317\325\273\315\326\254\313\327\234\310\327\215"
+ "\306\330\177\304\331p\302\332a\301\333R\277\335C\276\3365\274\340'\274\340"
+ "$\331\355\203\335\357\221\206\207\202\217\217\221\237\237\240\247\247\251"
+ "\262\262\265\276\276\301\314\314\317\337\337\342\346\346\350\345\345\351"
+ "\356\356\362\362\362\365\363\363\366\364\364\370\360\360\364\365\365\371"
+ "\364\364\370\354\354\360\352\352\357\355\355\362\363\363\367\364\364\367"
+ "\367\367\373\357\357\364\342\342\351\342\342\350\347\347\355\370\370\373"
+ "\366\366\373\350\350\356\346\346\354\354\354\362\347\347\355\335\335\345"
+ "\351\352\357\373\373\375\367\367\374\373\373\375\376\376\376\375\375\375"
+ "\202\375\375\376\2\347\347\355\313\313\324\202\312\312\324\2\310\310\322"
+ "\340\340\345\202\375\375\376\204\375\375\375\10\376\376\376\374\374\374\347"
+ "\347\354\334\334\342\337\337\344\342\342\347\361\361\363\375\375\375\207"
+ "\376\376\376\25\375\375\375\366\366\367\360\360\363\361\361\363\367\367\370"
+ "\375\375\376\376\376\376\375\375\375\370\370\372\367\367\371\367\367\370"
+ "\361\361\363\351\351\352\331\331\331\311\311\311\276\276\277\271\271\272"
+ "\266\266\270\267\267\270\272\272\273\274\274\275\202\275\275\275f\273\273"
+ "\275\271\271\272\270\270\271\271\271\272\274\274\275\276\276\276\274\274"
+ "\275\266\266\267\265\265\267\273\273\274\275\275\276\274\274\275\267\267"
+ "\270\266\266\267\273\273\274\275\275\276\274\274\275\302\302\303\323\323"
+ "\323\352\352\353\362\362\364\364\364\367\373\373\374\375\375\375\374\374"
+ "\375\375\375\376\366\366\371\363\363\366\370\370\373\372\372\375\362\362"
+ "\365\362\362\366\371\371\374\370\370\374\365\365\372\366\366\373\361\361"
+ "\366\346\346\355\353\353\362\362\361\370\363\363\371\373\373\375\375\375"
+ "\375\372\372\375\371\371\375\374\374\375\375\375\376\361\361\365\343\343"
+ "\353\363\363\371\372\372\376\375\375\376\367\367\373\337\337\346\341\341"
+ "\350\373\373\375\373\373\374\371\371\372\366\366\366\357\357\361\320\320"
+ "\326\274\274\303\310\310\312\272\272\272\243\243\244\324\324\332\323\323"
+ "\327\321\324\311\317\324\272\314\325\253\312\326\233\310\327\214\306\327"
+ "~\305\331o\303\332_\301\333P\300\334B\276\3363\275\340%\275\340\"\330\354"
+ "}\336\357\220\212\213\205\214\214\216\236\236\237\246\246\250\260\260\263"
+ "\274\274\300\313\313\315\336\336\340\346\346\347\343\343\346\356\356\361"
+ "\362\362\365\362\362\366\363\363\367\357\357\363\364\364\367\365\365\370"
+ "\354\354\360\351\351\356\355\355\361\202\363\363\367\21\366\366\372\357\357"
+ "\364\342\342\350\340\340\347\344\344\352\365\365\371\370\370\374\352\352"
+ "\360\346\346\355\354\354\361\347\347\355\337\336\346\352\352\360\373\373"
+ "\375\365\365\373\371\371\374\376\376\376\202\374\374\375\7\376\376\376\356"
+ "\356\364\320\320\331\314\314\325\314\314\324\312\312\324\337\337\346\202"
+ "\375\375\376\204\375\375\375\10\375\375\376\375\375\375\356\356\362\336\336"
+ "\344\340\340\345\343\343\347\357\357\363\375\375\375\210\376\376\376\21\371"
+ "\371\372\362\362\364\360\360\363\364\364\367\374\374\375\376\376\376\375"
+ "\375\376\372\372\373\367\367\371\370\370\372\365\365\366\360\360\362\352"
+ "\352\353\344\344\344\340\340\340\335\335\336\332\332\333\202\327\327\331"
+ "\1\330\330\331\204\330\330\332\25\332\332\333\335\335\335\337\337\337\336"
+ "\336\336\330\330\332\324\324\325\330\330\332\335\335\336\336\336\337\333"
+ "\333\333\324\324\326\327\327\331\335\335\336\336\336\337\333\333\334\336"
+ "\336\337\351\351\352\363\363\364\363\363\365\365\365\367\374\374\374\203"
+ "\374\374\375\21\365\365\370\363\363\366\371\371\373\372\372\375\364\364\367"
+ "\366\366\371\372\372\374\366\366\372\364\364\370\367\367\374\357\357\365"
+ "\345\345\353\354\354\362\362\363\371\364\364\371\374\374\375\375\375\375"
+ "\202\372\372\3750\374\374\375\375\375\376\360\360\363\347\347\355\364\364"
+ "\371\370\370\375\373\373\376\365\365\372\340\340\346\344\344\353\374\374"
+ "\376\373\373\374\371\371\372\366\366\366\357\357\360\316\316\325\277\277"
+ "\306\311\311\312\272\272\272\243\243\244\323\323\331\322\322\327\320\323"
+ "\310\316\324\271\314\324\252\311\325\232\310\326\213\306\327}\304\331n\303"
+ "\332_\302\334P\300\335A\277\3373\276\341%\276\341\"\326\354v\336\360\220"
+ "\215\220\206\212\212\213\235\235\236\244\244\247\256\256\261\272\272\275"
+ "\307\307\313\333\333\335\345\345\347\343\343\346\355\355\360\202\362\362"
+ "\365\7\363\363\367\357\357\363\362\362\366\365\365\371\354\354\361\351\351"
+ "\355\354\354\361\202\363\363\367\34\365\365\371\357\357\364\341\341\350\340"
+ "\340\346\342\342\350\362\362\366\371\371\374\355\355\362\347\347\355\353"
+ "\353\361\350\350\356\340\340\350\352\352\357\373\373\375\365\365\371\366"
+ "\366\373\375\375\376\375\375\375\373\373\375\375\375\376\364\364\367\326"
+ "\326\336\316\316\326\315\315\326\314\314\325\336\336\345\373\373\375\375"
+ "\375\376\205\375\375\375\7\376\376\376\365\365\367\342\342\347\342\342\346"
+ "\344\344\350\356\356\361\374\374\375\210\376\376\376\5\374\374\374\364\364"
+ "\365\360\360\363\363\363\365\373\373\374\202\376\376\376\1\374\374\375\202"
+ "\370\370\372\4\367\367\370\364\364\366\362\362\364\365\365\365\202\364\364"
+ "\364\11\363\363\363\361\361\362\356\356\360\355\355\357\355\355\356\355\355"
+ "\357\357\356\360\361\361\362\363\363\363\202\364\364\364\23\357\357\360\350"
+ "\350\352\351\351\353\360\360\361\364\364\364\362\362\363\354\354\355\350"
+ "\350\351\356\356\357\364\364\364\363\363\363\357\357\361\363\363\364\367"
+ "\367\370\370\370\371\363\363\365\366\366\370\374\374\375\373\373\374\202"
+ "\374\374\375\5\365\365\367\364\364\366\372\372\373\373\373\375\365\365\370"
+ "\202\371\371\374\12\365\365\371\364\364\370\370\370\374\354\354\361\343\343"
+ "\352\355\355\363\364\364\372\365\365\371\374\374\376\374\374\375\202\373"
+ "\373\3750\375\375\375\375\375\376\357\357\363\351\351\360\364\364\371\365"
+ "\365\373\370\370\376\364\364\371\341\341\347\350\350\356\375\375\376\373"
+ "\373\374\371\371\372\366\366\366\355\355\357\314\314\323\303\303\311\312"
+ "\312\313\272\272\272\244\244\245\322\322\330\321\321\326\317\321\307\315"
+ "\323\270\313\323\252\311\324\232\310\326\213\306\327}\305\330n\303\331_\302"
+ "\333Q\301\335B\300\3373\277\341&\277\341#\325\353o\337\360\220\221\224\210"
+ "\207\207\211\232\232\234\244\244\246\254\254\257\271\271\274\307\307\311"
+ "\332\332\335\344\344\346\342\342\346\354\354\357\202\362\362\365\7\365\365"
+ "\370\356\356\362\361\361\365\366\366\372\356\356\362\350\350\355\353\353"
+ "\360\202\363\363\367\20\364\364\370\357\357\363\340\341\347\337\337\346\340"
+ "\340\347\357\357\364\371\371\374\357\357\364\350\350\356\352\352\360\351"
+ "\351\357\341\341\350\351\351\357\373\373\375\363\363\370\364\364\371\202"
+ "\375\375\376\12\372\372\375\373\373\375\367\367\371\334\334\343\320\320\331"
+ "\317\317\330\315\315\330\334\334\343\371\371\373\376\376\376\205\375\375"
+ "\375\7\376\376\376\371\371\372\346\346\353\343\343\350\345\345\352\355\355"
+ "\360\373\373\374\210\376\376\376\17\375\375\375\367\367\371\361\361\363\361"
+ "\361\364\371\371\372\375\375\376\376\376\376\375\375\375\372\372\373\370"
+ "\370\372\371\371\373\370\370\371\367\367\370\371\371\373\375\375\375\203"
+ "\376\376\376\202\375\375\375\202\374\374\375\1\375\375\375\202\376\376\376"
+ "\31\375\375\375\371\371\372\363\363\364\363\363\365\371\371\372\375\375\375"
+ "\375\375\376\370\370\372\362\362\364\363\363\365\373\373\374\376\376\376"
+ "\374\374\375\372\372\373\374\374\375\375\375\376\370\370\371\363\363\365"
+ "\371\371\372\375\375\375\372\372\374\374\374\375\373\373\374\363\363\365"
+ "\365\365\367\202\373\373\375\11\370\370\372\372\372\375\370\370\374\362\362"
+ "\367\364\364\370\367\367\372\350\350\356\342\342\351\356\356\364\202\366"
+ "\366\372\2\374\374\376\374\374\375\202\373\373\3753\375\375\375\374\374\376"
+ "\357\357\364\355\355\363\363\362\367\364\364\371\366\366\374\362\362\370"
+ "\341\341\350\354\354\361\376\376\376\373\373\374\371\371\372\366\366\366"
+ "\355\355\357\313\313\321\310\310\315\314\314\314\272\272\272\245\245\246"
+ "\321\321\327\320\320\325\316\321\306\314\321\267\312\323\250\310\324\231"
+ "\307\325\212\306\326|\304\330m\303\331^\302\333O\301\335@\300\3372\277\341"
+ "$\277\341!\322\352d\337\360\217\226\233\212\205\205\206\231\231\232\243\243"
+ "\246\253\253\256\270\270\273\305\305\310\331\331\334\342\342\345\341\341"
+ "\345\354\354\357\362\362\365\361\361\365\364\364\367\202\356\356\362\4\366"
+ "\366\372\357\357\363\347\347\354\352\352\357\202\363\363\367\10\362\362\367"
+ "\357\357\364\341\341\347\337\337\345\336\336\345\352\352\360\370\370\374"
+ "\361\361\367\202\352\352\360\10\352\351\360\343\343\352\351\351\360\373\373"
+ "\375\363\363\367\362\362\366\375\375\376\376\376\376\202\372\372\374\10\372"
+ "\372\373\345\345\352\322\322\333\320\320\330\320\320\331\332\332\341\365"
+ "\365\370\376\376\376\205\375\375\375\3\376\376\376\374\374\375\355\355\361"
+ "\202\346\346\352\2\354\354\360\370\370\372\211\376\376\376\5\374\374\374"
+ "\364\364\366\361\361\363\365\365\367\374\374\375\202\376\376\376\1\374\374"
+ "\375\202\371\371\373\6\372\372\373\371\371\372\367\367\370\370\370\371\373"
+ "\373\374\375\375\375\206\376\376\376\16\375\375\375\373\373\374\366\366\370"
+ "\362\362\364\363\363\365\371\371\373\375\375\376\376\376\376\373\373\374"
+ "\363\363\365\361\361\363\367\367\371\375\375\376\376\376\376\202\374\374"
+ "\375\31\376\376\376\374\374\375\365\365\366\363\363\366\374\374\374\374\374"
+ "\375\372\372\374\375\375\375\371\371\373\363\363\365\366\366\370\375\375"
+ "\375\373\373\375\372\372\375\374\374\375\366\366\371\361\361\365\367\367"
+ "\372\365\365\370\345\345\353\343\343\351\360\360\365\366\366\373\366\366"
+ "\372\374\374\376\203\373\373\375\3\375\375\376\372\372\374\357\357\364\202"
+ "\357\357\365R\361\361\366\363\363\371\360\360\366\341\341\351\357\357\364"
+ "\376\376\376\373\373\374\371\371\372\366\366\366\351\351\355\312\312\321"
+ "\315\315\322\314\314\314\272\272\273\245\245\246\317\317\326\317\317\324"
+ "\315\320\305\313\320\267\311\322\250\307\323\230\306\324\212\304\325|\303"
+ "\327m\302\330^\301\332O\300\334A\277\3362\276\340%\276\340\"\317\350[\336"
+ "\357\220\233\241\212\201\201\203\225\225\226\241\241\244\253\253\256\266"
+ "\266\271\303\303\307\327\327\332\343\343\345\341\341\345\353\353\356\360"
+ "\360\364\361\361\364\364\364\367\357\357\363\354\354\360\365\365\371\361"
+ "\361\365\350\350\354\351\351\356\362\362\366\363\363\367\361\361\365\357"
+ "\357\364\341\341\347\337\337\346\336\336\345\346\346\354\366\366\373\363"
+ "\363\370\354\354\362\353\352\360\353\353\360\345\345\354\351\351\357\372"
+ "\372\375\363\363\367\357\357\365\374\374\375\376\376\376\372\372\374\367"
+ "\367\373\373\373\375\355\355\362\327\327\336\322\322\332\321\321\332\331"
+ "\331\340\363\363\366\376\376\376\205\375\375\375\202\376\376\376\5\365\365"
+ "\370\350\350\355\350\350\353\353\353\357\366\366\370\212\376\376\376\4\371"
+ "\371\372\362\362\364\362\362\365\371\371\372\203\376\376\376\12\374\374\374"
+ "\371\371\372\372\372\373\373\373\374\371\371\373\367\367\371\366\366\370"
+ "\367\367\371\371\371\373\373\373\373\202\373\373\374,\372\372\373\371\371"
+ "\372\366\366\370\363\363\365\362\362\365\365\365\367\372\372\373\375\375"
+ "\376\376\376\376\374\374\375\365\365\367\361\361\363\364\364\366\374\374"
+ "\375\376\376\376\375\375\376\374\374\375\375\375\376\376\376\376\371\371"
+ "\372\362\362\365\366\366\370\375\375\375\372\372\374\373\373\374\374\374"
+ "\375\367\367\371\363\363\365\371\371\372\376\376\376\374\374\375\374\374"
+ "\376\372\372\375\363\363\367\360\360\364\370\370\374\360\360\364\343\343"
+ "\350\344\344\353\365\365\371\366\366\373\366\366\372\371\371\376\372\372"
+ "\375\202\373\373\3757\375\375\376\371\371\372\357\357\364\357\357\365\354"
+ "\354\363\355\355\363\362\362\367\357\357\364\344\344\353\363\363\367\376"
+ "\376\376\373\373\374\371\371\372\366\366\366\345\345\351\313\313\321\323"
+ "\323\326\315\315\315\272\272\273\245\245\246\316\316\325\315\315\323\314"
+ "\317\304\311\317\266\307\320\247\306\322\227\304\323\211\303\324{\301\326"
+ "l\300\330]\277\332N\276\333@\275\3351\274\340$\274\340!\312\346P\335\357"
+ "\217\244\252\215\200\200\201\224\224\225\241\241\243\252\252\255\265\265"
+ "\270\301\301\305\325\325\330\342\342\344\340\340\344\352\352\355\362\362"
+ "\365\361\361\364\363\363\367\360\360\364\352\352\357\364\364\370\362\362"
+ "\366\202\350\350\355\2\362\362\366\363\363\367\202\360\360\364\4\342\342"
+ "\350\337\337\346\336\336\345\343\343\351\202\364\364\371\24\356\356\363\353"
+ "\353\360\353\353\361\347\347\356\351\351\357\370\370\374\363\363\367\354"
+ "\354\363\372\372\375\376\376\376\373\373\375\365\365\372\373\373\375\364"
+ "\364\366\334\334\344\324\324\334\323\323\333\330\330\337\362\362\364\376"
+ "\376\376\205\375\375\375\202\376\376\376\7\370\370\371\350\350\354\343\343"
+ "\346\346\346\352\361\361\363\373\373\374\372\372\372\202\370\370\370\1\372"
+ "\372\372\202\374\374\374&\372\372\372\370\370\370\367\367\367\365\365\366"
+ "\357\357\361\355\355\360\362\362\364\370\370\371\370\370\370\367\367\367"
+ "\366\366\367\364\364\366\365\365\366\367\367\371\371\371\372\365\365\367"
+ "\362\362\363\357\357\361\356\356\361\360\360\362\362\362\364\362\362\363"
+ "\360\360\362\355\355\360\353\353\355\355\355\357\360\360\361\363\363\364"
+ "\366\366\366\367\367\367\367\367\370\363\363\365\360\360\362\363\363\365"
+ "\372\372\373\376\376\376\375\375\375\371\371\371\202\367\367\367\1\364\364"
+ "\365\202\356\356\360\22\370\370\371\374\374\375\372\372\373\374\374\375\373"
+ "\373\374\364\364\366\364\364\365\370\370\372\373\373\373\373\373\374\374"
+ "\374\375\370\370\372\360\360\364\362\362\365\370\370\373\353\353\357\341"
+ "\341\347\346\346\354\202\366\366\373\3\365\364\372\371\371\375\372\372\375"
+ "\202\373\373\375>\375\375\376\367\367\372\360\360\365\356\356\363\352\352"
+ "\357\352\352\361\360\360\365\355\355\363\346\346\354\367\367\372\376\376"
+ "\376\373\373\374\371\371\372\366\366\366\341\341\346\314\314\323\326\326"
+ "\330\315\315\315\272\272\273\246\246\246\315\315\324\314\314\322\311\315"
+ "\303\310\316\265\306\317\246\304\320\226\302\322\210\301\323z\277\324k\275"
+ "\326\\\274\330M\273\332?\272\3340\271\336#\271\336\40\304\343D\334\356\217"
+ "\256\266\220||}\217\217\222\240\240\243\252\252\254\265\265\270\301\301\304"
+ "\324\324\327\342\342\344\336\336\342\350\350\353\362\362\365\361\361\364"
+ "\363\363\366\362\362\365\351\351\356\362\362\365\364\364\370\352\352\357"
+ "\350\350\355\361\361\365\364\363\370\356\356\363\360\360\365\343\343\351"
+ "\202\337\337\345\26\337\337\346\361\361\366\365\365\372\357\357\364\354\354"
+ "\362\353\353\361\350\350\357\351\351\357\365\365\371\366\366\371\352\352"
+ "\361\370\370\372\376\376\376\374\374\375\365\365\372\371\371\373\372\372"
+ "\374\344\344\353\326\326\336\325\325\335\330\330\337\354\354\362\202\375"
+ "\375\376\204\375\375\375Q\376\376\376\372\372\372\304\304\306kkl\240\240"
+ "\242\332\332\335\345\345\350\314\314\315vvxhhj\327\327\330\355\355\355\364"
+ "\364\364\244\244\245\200\200\202yy{\200\200\200\206\206\210\247\247\251\346"
+ "\346\347\320\320\323\206\206\211~}\177xxz||~\277\277\300\354\354\356\331"
+ "\331\332\223\223\225{{}yy{{{~\223\223\225\331\331\332\355\355\356\243\242"
+ "\244\203\203\207vuycceyy{\203\203\206rrt\200\200\202\247\247\252\324\324"
+ "\325\344\344\346\353\353\356\367\367\370\375\375\376\375\375\375\267\267"
+ "\270\213\213\215\200\200\201wwzxx{\242\242\243\347\347\350\365\365\366\370"
+ "\370\372\372\372\374\375\375\375\367\367\371\362\362\364\261\261\263\226"
+ "\227\232\356\356\356\366\366\366\371\371\371\364\364\367\355\355\362\365"
+ "\365\370\366\366\371\346\346\353\340\340\346\353\353\360\370\370\373\363"
+ "\363\370\364\364\372\370\370\374\371\371\375\372\372\375\202\373\373\375"
+ "K\364\364\371\361\361\366\352\352\360\346\346\354\351\351\357\357\357\365"
+ "\354\354\362\351\351\357\372\372\375\375\375\376\373\373\374\371\371\372"
+ "\366\366\367\335\335\342\321\321\330\331\331\333\315\315\316\272\272\273"
+ "\246\246\246\314\314\323\313\313\321\310\314\302\306\314\264\304\316\245"
+ "\302\317\225\300\320\207\276\321y\274\323j\272\325[\271\327L\267\330>\266"
+ "\333/\265\335\"\265\335\37\274\3406\332\356\216\272\305\224zz{\215\215\217"
+ "\241\241\242\252\252\254\262\262\267\300\300\303\323\323\326\342\342\343"
+ "\340\340\343\346\346\352\362\362\365\361\361\365\362\362\365\363\363\367"
+ "\351\351\356\356\356\363\365\365\371\354\354\361\350\350\356\360\360\364"
+ "\364\364\370\355\355\362\360\360\365\345\345\353\337\337\345\340\340\346"
+ "\336\336\344\354\354\362\365\365\372\360\360\365\355\355\363\354\354\361"
+ "\352\352\360\352\352\357\363\363\367\370\370\374\351\351\360\364\364\370"
+ "\202\376\376\376\12\366\366\372\364\364\371\374\374\376\354\354\361\333\333"
+ "\342\327\327\337\330\330\337\350\350\355\373\373\375\376\376\376\203\375"
+ "\375\375<\376\376\376\370\370\370\250\250\253//0\1\1\1""889\251\252\254\235"
+ "\235\240AAB\200\200\200\2\2\2NNP\270\270\270\347\347\347sssyyy\13\13\13\11"
+ "\11\12\237\235\236\223\222\222\334\334\335\253\253\253bbb]^]\5\5\5\210\212"
+ "\212\245\244\244\342\342\343\276\276\276kkkCCD\1\1\1\216\216\217\274\274"
+ "\273\300\300\301\350\350\350vvv\224\225\224\36\36\36\5\5\5\306\307\307\263"
+ "\263\263rrqRRR&&&../\243\243\245\341\341\342\362\362\362\372\372\372\373"
+ "\372\373}}|\232\232\231\27\27\30\5\5\5\270\270\267\253\253\253\336\336\337"
+ "\360\360\361\366\366\367\202\373\373\374\22\363\363\366\356\356\361aaa\""
+ "#\"\300\300\301\351\351\351\361\361\363\357\357\363\356\356\362\370\370\372"
+ "\360\360\364\342\342\350\341\341\350\357\357\364\370\370\373\361\361\365"
+ "\363\363\371\367\367\374\202\371\371\375\12\372\372\375\371\371\374\364\364"
+ "\370\360\360\365\345\345\354\343\343\352\346\346\354\355\355\364\354\354"
+ "\362\357\357\363\202\375\375\376A\373\373\374\371\371\372\364\364\365\333"
+ "\333\341\330\330\334\333\333\335\315\315\316\272\272\273\246\246\246\312"
+ "\312\322\312\312\320\307\312\301\304\313\262\302\314\244\300\315\224\275"
+ "\316\205\273\317w\271\321h\267\322Y\266\324K\264\326<\263\330-\261\332\40"
+ "\261\332\35\264\334'\326\353\211\306\324\225zz{\212\212\214\236\236\241\251"
+ "\251\253\264\264\266\277\277\302\322\322\324\341\341\343\336\336\342\344"
+ "\344\350\362\362\365\362\362\366\363\363\366\364\364\370\352\352\357\354"
+ "\354\360\366\366\371\357\357\363\351\351\356\357\357\363\365\365\371\355"
+ "\355\362\357\357\364\347\347\354\337\337\345\341\341\350\335\335\344\347"
+ "\347\355\364\364\371\361\361\366\356\356\364\355\355\362\353\353\361\352"
+ "\352\360\362\362\366\371\371\376\352\352\360\361\361\366\202\376\376\376"
+ "\12\370\370\373\362\362\366\374\374\375\365\365\370\340\340\350\331\331\340"
+ "\331\331\341\344\344\352\372\372\373\376\376\376\203\375\375\375\15\373\373"
+ "\373\231\231\233223\346\346\347\0\0\0\235\235\236\230\230\231\37\37\40\337"
+ "\337\337\314\314\315\4\4\4OOP\231\231\231\202\332\332\332B\251\251\251RR"
+ "S\4\4\5\250\250\253\301\300\300\326\326\327\337\337\340\262\262\262HHI68"
+ "8\310\310\310\306\306\306\335\335\335\350\350\350\275\275\275TTU\6\6\6\241"
+ "\241\241\312\312\312\320\320\321\343\343\344\321\321\321\277\277\277667\33"
+ "\33\34\311\311\312\275\275\275\244\244\245\204\204\204}}{DDD\13\13\14\226"
+ "\225\230\340\340\340\362\361\362\370\367\370\337\336\337\246\246\247\"\""
+ "#\25\25\25\312\312\312\302\302\302\334\334\334\354\354\355\366\366\370\375"
+ "\375\375\370\370\371\360\357\362\273\273\275[[]\5\5\5}}~\330\330\331\346"
+ "\346\350\351\351\355\360\360\364\371\371\374\352\352\357\341\341\346\343"
+ "\343\351\364\364\367\366\366\371\357\357\363\363\363\371\370\370\374\371"
+ "\371\375\202\370\370\375\6\366\366\373\364\364\371\355\355\362\341\341\350"
+ "\342\342\351\345\345\352\202\355\355\363\1\362\362\366\202\375\375\376\27"
+ "\373\373\374\372\372\372\360\360\362\332\332\341\335\335\340\334\334\335"
+ "\315\315\316\273\273\274\246\246\246\311\311\321\310\310\317\306\311\300"
+ "\303\312\261\300\313\242\275\314\223\273\315\203\270\316v\266\320f\264\321"
+ "X\262\323I\260\325:\256\327,\254\331\36\202\254\331\33\27\316\350z\320\343"
+ "\226\205\210\201\207\207\211\233\233\235\251\251\254\263\263\266\276\276"
+ "\301\321\321\323\341\341\343\340\340\343\343\343\346\361\361\364\363\363"
+ "\366\362\362\365\365\365\370\355\355\361\351\351\355\365\365\370\362\362"
+ "\366\351\351\356\356\356\363\365\365\371\202\355\355\362\33\351\351\356\337"
+ "\337\346\342\342\350\336\336\345\342\342\350\361\361\367\361\361\366\357"
+ "\357\365\356\356\364\354\354\362\354\354\361\360\360\365\371\371\374\353"
+ "\353\361\354\354\362\374\374\376\376\376\376\373\373\375\361\361\366\367"
+ "\367\371\372\372\374\347\347\355\333\333\343\332\332\341\342\342\350\366"
+ "\366\372\376\376\376\203\375\375\375S\316\316\316OOQ\353\353\353\204\204"
+ "\204\1\1\2\301\301\304\26\26\27\240\240\237\270\270\271mmn\2\2\2\221\221"
+ "\222\305\305\306\325\325\325\346\346\346\343\343\343sst\11\11\11hhk\276\276"
+ "\276\327\327\327\347\347\350\303\303\304!!!\234\234\234\270\270\271\314\314"
+ "\314\343\343\343\360\360\360\351\351\351YYZ\15\15\16|}}\275\275\277\323\323"
+ "\325\345\345\346\350\350\352\314\314\316@@A\40\40!\257\257\260\270\270\272"
+ "\307\307\310\315\315\316\251\251\251kllDCE\24\24\25\261\261\261\344\343\344"
+ "\363\362\363\362\362\362\245\245\246445\33\33\33\251\251\253\306\306\307"
+ "\337\337\340\357\357\361\371\371\373\373\373\374\363\363\365\356\356\361"
+ "~~\177zz}\\\\^--,\275\275\276\331\331\334\346\346\350\364\365\370\365\365"
+ "\370\346\346\352\341\341\346\350\350\355\370\370\373\362\362\365\355\355"
+ "\362\363\363\370\370\370\374\371\371\375\367\367\374\367\367\373\202\364"
+ "\364\371\7\346\346\355\336\336\345\337\337\346\344\344\352\356\356\364\357"
+ "\357\365\366\366\371\202\375\375\376\27\373\373\374\372\372\372\354\354\357"
+ "\334\334\342\340\340\345\334\334\335\315\315\316\272\272\273\246\246\246"
+ "\310\310\320\307\307\315\303\307\277\301\311\260\276\311\241\272\312\221"
+ "\267\313\202\265\314t\262\316e\260\317V\255\320G\253\3228\251\324*\247\326"
+ "\34\202\247\326\31\30\305\344g\322\346\224\222\224\207\204\204\206\232\232"
+ "\233\251\251\253\262\262\265\275\275\300\316\316\321\340\340\342\341\341"
+ "\345\342\342\346\360\360\362\364\364\367\361\361\365\365\365\370\360\360"
+ "\364\347\347\354\361\361\365\364\364\370\354\354\361\355\355\362\365\365"
+ "\371\357\357\363\202\353\353\360\6\340\337\346\343\342\351\341\341\347\336"
+ "\336\345\355\355\363\361\361\366\202\357\357\365\22\355\355\364\354\354\362"
+ "\357\357\363\367\367\372\357\357\365\346\346\355\371\371\373\376\376\376"
+ "\375\375\375\362\362\367\360\360\365\373\373\374\360\360\365\341\341\347"
+ "\334\334\343\340\340\346\360\360\365\375\375\376\202\375\375\375]\374\374"
+ "\374\325\324\325\267\266\267\326\326\326\15\15\15TRUHHKnnm\225\225\225\242"
+ "\242\244\31\31\31\36\36\40\217\217\216\270\270\270\327\327\327\354\354\354"
+ "\357\357\357\250\250\250444\31\31\32\277\277\300\330\330\330\351\351\351"
+ "||}++,\306\306\306\300\300\302\327\327\330\356\355\356\370\370\370\360\360"
+ "\360^^`\14\14\14\200\200\200\310\310\311\337\337\340\360\360\361\362\362"
+ "\363\311\311\312DDD\40\40!\263\263\265\313\313\313\337\337\340\350\350\350"
+ "\342\342\342\232\232\232\204\204\205\6\6\7iik\326\325\326\354\354\354\363"
+ "\363\363\240\240\241;;;\32\32\32\247\247\247\316\316\317\344\344\346\366"
+ "\366\367\374\374\375\366\366\370\360\360\362\326\326\330__`ZZZ\207\207\210"
+ "\14\14\14\214\214\216\312\312\315\342\343\346\370\370\372\357\357\363\343"
+ "\343\351\341\341\347\357\357\363\370\370\373\353\353\361\355\355\362\364"
+ "\364\371\370\370\375\367\367\374\366\366\371\364\364\370\364\364\371\362"
+ "\362\367\340\340\347\333\333\343\335\335\345\343\343\352\357\357\365\361"
+ "\361\365\372\372\374\202\375\375\376\27\373\373\374\371\371\372\347\347\354"
+ "\341\341\346\342\342\347\333\333\335\315\315\316\272\272\272\246\246\246"
+ "\307\307\317\306\306\314\302\306\276\277\307\257\273\307\240\271\311\220"
+ "\266\312\201\263\313s\260\314d\256\316U\253\317F\251\3217\246\323)\244\325"
+ "\33\202\244\325\30)\274\340W\321\351\220\235\244\215\202\202\203\227\227"
+ "\232\251\251\252\263\263\265\275\275\277\313\313\317\340\340\341\343\343"
+ "\345\340\340\344\357\357\362\364\364\367\362\362\365\365\365\370\363\363"
+ "\367\347\347\354\355\355\361\366\366\371\357\357\363\355\355\362\365\365"
+ "\371\360\360\365\351\351\356\355\355\362\341\341\350\342\342\351\344\344"
+ "\353\336\336\344\347\347\355\361\361\366\357\357\364\360\360\365\357\357"
+ "\364\355\355\363\356\356\363\365\364\371\364\363\370\344\344\353\365\365"
+ "\371\202\376\376\376\2\370\370\373\355\355\363\202\370\370\373\1\346\346"
+ "\354\202\337\337\346a\354\354\360\373\373\375\375\375\376\375\375\375\374"
+ "\374\374\366\366\366\341\341\341\215\215\216\11\11\12__b^^_xxx\251\251\252"
+ "nmo\3\3\3}}\177\215\215\215\304\304\304\340\340\340\364\364\364\371\371\371"
+ "\352\352\352eff\5\5\5\217\217\220\323\323\323\332\332\332557\202\202\202"
+ "\303\303\304\320\320\321\344\344\345\365\365\366\374\374\375\365\365\365"
+ "]]]\13\13\14\205\205\206\317\317\317\350\350\350\371\371\371\373\373\374"
+ "\325\325\326FFG\37\37\40\267\267\267\325\325\325\354\354\354\370\370\370"
+ "\364\363\364\346\345\346wvw\25\25\26<<=\306\306\306\344\344\344\355\355\356"
+ "\246\246\250<<>\30\30\30\252\251\252\320\320\321\352\352\353\373\373\373"
+ "\370\370\372\357\357\362\357\357\361\224\224\224hgj\243\243\244\211\211\212"
+ "''(NNP\274\274\277\341\342\343\361\361\363\350\350\355\342\342\347\345\345"
+ "\352\365\365\371\363\363\367\351\351\356\356\356\362\365\365\371\370\370"
+ "\374\365\365\371\363\363\367\361\361\365\367\367\373\354\354\360\332\332"
+ "\342\332\332\341\334\334\343\345\345\354\361\361\367\364\364\370\373\373"
+ "\375\202\375\375\376\27\373\373\374\367\367\370\344\344\351\346\346\352\343"
+ "\343\347\332\332\335\314\314\314\272\272\272\246\246\246\305\305\316\304"
+ "\304\313\301\305\275\275\306\256\272\306\236\266\307\217\264\310\200\261"
+ "\311r\256\313c\253\314T\250\315E\246\3176\244\321(\241\323\32\202\241\323"
+ "\27!\263\333D\320\351\212\253\263\221\200\200\201\224\224\226\250\250\251"
+ "\262\262\265\275\275\300\313\313\315\334\334\337\343\343\345\336\336\343"
+ "\356\356\361\365\365\370\362\362\366\364\364\370\365\365\370\351\351\355"
+ "\351\351\356\366\366\371\362\362\366\355\355\362\364\364\370\362\362\366"
+ "\350\350\356\355\355\362\343\343\351\342\342\350\347\347\355\337\337\346"
+ "\342\342\350\357\357\365\356\356\364\202\360\360\366\22\356\356\364\357\357"
+ "\364\362\362\366\366\365\371\344\344\353\357\357\365\375\375\376\376\376"
+ "\376\373\373\375\356\356\364\362\362\367\374\374\375\357\357\364\343\343"
+ "\352\340\340\346\350\347\355\370\370\372\375\375\376\202\375\375\375+\371"
+ "\371\371\343\343\343;;<\35\35\36QQT{{{\237\240\240\247\247\250\32\32\32*"
+ "*,\177\177\177\263\263\263\321\321\321\352\352\352\371\371\371\374\374\374"
+ "\364\364\364\211\210\211\22\23\22DDE\310\310\310\253\254\254&&&\271\271\271"
+ "\312\312\312\334\334\334\357\357\357\372\372\373\375\375\376\363\363\364"
+ "ZZ[\13\13\13\217\217\217\320\320\320\351\351\351\371\371\371\375\375\375"
+ "\331\331\331GGH\36\36\37\266\265\266\325\325\326\355\355\356\202\373\373"
+ "\374!\362\362\363~~\177\36\36\37+++\271\272\272\331\331\332\344\344\347\255"
+ "\255\256AAB\25\25\26\245\245\246\320\320\321\354\354\355\370\370\371\361"
+ "\361\363\356\356\361\355\355\357ggg\15\15\15YY\\OOQ\16\16\17\17\17\20\245"
+ "\245\246\332\332\334\346\346\350\344\344\350\343\343\351\353\353\360\370"
+ "\370\372\354\354\361\347\347\355\357\357\364\202\366\366\372\14\363\362\367"
+ "\357\357\365\361\361\365\364\364\371\341\341\351\326\326\337\330\330\340"
+ "\333\333\342\347\347\356\363\363\370\366\366\373\374\374\376\202\375\375"
+ "\376\27\373\373\374\364\364\367\344\344\352\350\350\354\341\341\346\330\330"
+ "\333\314\314\314\272\272\273\245\245\246\304\304\315\303\303\312\277\303"
+ "\274\274\305\255\270\305\235\265\306\216\261\307\200\256\310q\254\312b\251"
+ "\313S\246\314D\243\3165\241\320'\236\322\31\202\236\322\26*\251\3270\316"
+ "\350\212\272\306\230||\177\217\217\222\245\245\246\262\262\264\273\273\275"
+ "\311\311\313\332\332\335\343\343\345\336\336\343\352\352\355\364\364\367"
+ "\362\362\365\362\362\366\366\366\371\355\355\361\346\346\353\362\362\366"
+ "\364\364\367\356\356\362\362\362\366\363\363\367\347\347\355\353\353\360"
+ "\347\347\354\341\341\347\350\350\356\343\343\351\335\335\344\354\354\361"
+ "\356\356\364\357\357\364\361\361\367\360\360\366\357\357\364\360\360\365"
+ "\365\365\372\350\350\356\347\347\355\373\373\374\202\376\376\376\11\366\366"
+ "\371\354\354\362\372\371\374\366\366\372\351\351\357\342\342\351\346\346"
+ "\353\362\362\366\374\374\375\202\375\375\375I\373\373\373\260\261\261\16"
+ "\16\16\0\0\0\203\203\204\201\201\201\272\272\272lmo\3\3\3kkk\235\235\237"
+ "\276\276\300\334\334\334\361\361\361\374\374\374\376\376\376\370\370\370"
+ "\311\311\311QQR\17\17\20\253\254\255YY[bcc\306\306\306\320\320\320\345\345"
+ "\345\366\366\366\375\375\375\375\375\376\362\362\363YYY\13\13\13\221\221"
+ "\222\320\320\320\351\351\351\371\371\371\375\375\375\331\331\331HHI\36\36"
+ "\37\266\267\270\324\324\325\355\355\356\373\373\374\375\375\376\366\366\367"
+ "\221\220\221\15\15\15""124\270\267\270\321\321\323\346\346\350\267\267\267"
+ "DDE\23\23\24\244\244\246\322\322\323\353\353\354\357\357\361\355\355\360"
+ "\362\362\365\300\300\301@@Afff\261\261\261\253\253\254\220\220\224\6\6\6"
+ "qqs\314\314\316\330\330\334\337\337\344\346\346\353\202\364\364\370\20\345"
+ "\345\352\351\351\357\361\361\366\367\367\373\364\364\370\357\357\365\354"
+ "\354\362\364\364\370\356\356\362\331\331\341\325\325\335\327\327\337\334"
+ "\334\342\355\355\362\364\364\371\370\370\373\203\375\375\376\27\373\373\374"
+ "\360\360\364\346\346\354\347\347\353\336\336\343\330\330\333\313\313\314"
+ "\271\271\272\243\243\245\224\224\225\224\225\223\225\231\212\224\235\200"
+ "\225\242u\226\247k\227\254`\227\261U\227\265K\230\273@\231\3006\232\305+"
+ "\233\312!\234\317\27\202\234\320\25\25\237\321\33\307\344|\313\335\234\205"
+ "\207\204\213\213\215\241\241\243\261\261\264\273\273\276\310\310\312\327"
+ "\327\332\344\344\345\336\336\342\347\347\353\364\364\366\364\364\367\362"
+ "\362\365\366\366\372\361\361\364\344\344\351\355\355\361\365\365\370\202"
+ "\360\360\364\1\364\364\370\202\351\351\356\12\351\351\357\341\341\347\351"
+ "\351\356\350\350\355\334\334\343\345\345\353\355\355\363\354\353\361\360"
+ "\360\365\360\360\366\202\357\357\364\4\363\363\370\354\354\362\341\341\350"
+ "\364\364\370\202\375\375\375&\373\373\374\354\354\362\360\360\365\372\372"
+ "\374\357\357\364\345\345\353\343\343\351\352\352\360\371\371\372\373\374"
+ "\375\373\373\374\367\367\367efg\1\1\1ddf\200\200\200\264\264\264\257\257"
+ "\260\31\31\32\36\36\35\222\222\223\236\235\240\225\225\226\335\335\335\363"
+ "\363\363\373\373\373\375\375\375\373\373\373\357\357\357{z|\7\7\7cce**,\247"
+ "\247\250\305\305\305\330\330\330\354\354\354\371\371\371\202\375\375\375"
+ "7\362\362\362UUV\14\14\14\221\221\222\317\317\317\350\350\350\371\371\371"
+ "\374\374\374\330\330\330IIJ\36\36\37\266\266\267\323\323\324\354\354\355"
+ "\372\372\373\375\375\375\365\365\365\205\205\206\0\0\0\\\\\\\271\271\273"
+ "\326\326\330\357\357\357\274\274\274HHJ\22\22\22\242\242\242\320\320\320"
+ "\342\342\345\351\351\354\362\362\364\365\365\367\177\177\200\34\34\35\275"
+ "\275\276\315\315\315\272\272\273qqp,,.%%&\262\262\265\313\313\317\333\333"
+ "\341\353\353\360\341\341\343\237\237\242\306\306\311\345\345\353\361\361"
+ "\364\365\365\371\357\357\364\350\350\357\353\353\361\364\364\370\341\341"
+ "\350\202\323\323\333\5\325\325\335\336\336\346\361\361\367\364\364\370\371"
+ "\371\373\203\374\374\375\11\372\372\374\356\356\363\351\351\356\346\346\351"
+ "\336\336\342\327\327\333\311\311\313\266\266\271\240\240\243\221\232\320"
+ "\25)\275\340g\321\347\235\224\227\212\210\210\212\234\234\236\260\260\261"
+ "\273\273\275\305\305\307\325\325\330\343\343\344\337\337\343\345\345\350"
+ "\362\362\364\365\365\370\361\361\365\364\364\367\363\363\366\344\344\351"
+ "\347\347\354\363\363\367\361\361\365\360\360\364\364\364\370\352\352\357"
+ "\346\345\353\354\354\361\342\342\350\347\347\355\354\354\361\337\337\345"
+ "\336\336\345\353\353\361\351\351\357\355\355\363\360\360\365\357\357\364"
+ "\356\356\363\357\357\365\360\360\366\337\337\346\352\352\360\203\374\374"
+ "\374%\362\362\366\350\350\356\367\367\372\366\366\372\351\351\357\344\344"
+ "\352\346\346\354\363\363\366\373\373\373\370\370\372\314\314\315\34\34\34"
+ "\32\32\31zz{\241\241\241\277\277\277eeg\6\6\6\250\250\251ffg233\216\215\216"
+ "\326\326\330\357\357\360\372\372\372\374\374\374\373\373\373\364\364\364"
+ "\257\257\257>>>\0\0\0OOP\273\274\274\310\310\310\340\340\340\362\362\362"
+ "\373\373\373\202\374\374\374?\362\362\362RRT\14\14\15\225\225\225\316\316"
+ "\316\347\347\347\367\367\367\373\373\373\342\342\342JJK\34\34\35\266\266"
+ "\267\321\321\321\351\351\351\367\367\367\366\366\366\310\310\312\23\23\23"
+ "\17\17\17\251\251\251\303\303\305\340\340\341\360\360\361\311\311\312IIJ"
+ "\20\20\20\245\245\246\310\310\311\332\332\335\354\354\356\367\367\371\337"
+ "\337\337TTUBBB\302\302\302\300\300\302\272\272\275ZYY\200\200\200\10\10\10"
+ "\221\221\223\277\277\303\327\327\333\344\344\350nnp$$%LLM\342\342\346\355"
+ "\355\361\357\357\362\351\351\356\343\343\352\356\356\363\356\356\362\326"
+ "\326\336\317\317\331\321\321\331\323\323\333\344\344\352\364\364\370\363"
+ "\363\367\370\370\373\372\372\374\202\373\373\374\11\367\367\371\355\355\362"
+ "\347\347\354\342\342\346\335\335\341\326\326\332\306\306\311\264\264\267"
+ "\236\236\240\221\230\317\25\12\262\333Q\320\350\227\244\254\221\203\203\205"
+ "\227\227\231\255\255\256\271\271\274\304\304\306\323\323\325\341\341\342"
+ "\202\340\340\344\2\357\357\362\365\365\370\202\362\362\365\12\365\365\370"
+ "\347\347\354\342\342\347\355\355\361\362\362\365\357\357\363\363\363\367"
+ "\354\354\361\343\343\350\353\353\360\202\344\344\352\16\356\356\364\347\347"
+ "\354\334\334\343\347\347\355\351\351\356\351\351\357\356\356\364\357\357"
+ "\364\356\356\362\355\355\362\360\360\365\342\342\351\342\342\350\370\370"
+ "\372\202\373\373\373\31\370\370\371\351\351\356\360\360\363\371\371\372\360"
+ "\357\364\346\346\354\345\345\353\355\355\360\370\370\372\365\365\367wwy\3"
+ "\3\4llnqrr\272\272\272\273\273\273\23\23\23\0\0\0VVW,,.\277\277\277\240\236"
+ "\240\317\317\322\352\352\353\370\370\370\202\373\373\373\11\367\367\367\337"
+ "\340\337bbc\2\2\2\226\226\227\266\266\266\320\320\320\347\347\347\366\366"
+ "\366\202\373\373\3731\364\364\364\326\326\327BBD\4\4\5\232\232\233\307\307"
+ "\307\341\341\341\363\363\363\362\362\362\311\311\312334\0\0\0\205\205\207"
+ "\303\303\305\320\320\321\315\315\317\225\225\230\34\34\34\13\13\13\204\205"
+ "\205\276\276\277\321\321\322\345\345\346\353\353\355\301\302\303BBC\2\1\1"
+ "\237\237\242\275\275\300\330\330\333\357\357\360\361\361\361\253\253\254"
+ "\15\15\15oop\276\276\277\303\303\306\312\312\314\241\241\243\202\201\203"
+ "\2\2\2""234\264\264\267\322\322\324\326\326\330RRR667JJL\335\335\340\202"
+ "\347\347\354\202\342\342\350\26\362\362\365\341\341\347\320\320\331\317\317"
+ "\331\320\320\330\327\327\336\354\354\361\363\363\367\361\361\365\366\366"
+ "\372\370\370\373\372\372\374\372\372\373\361\361\365\354\354\361\343\343"
+ "\350\340\340\345\335\335\341\324\324\327\302\302\306\262\262\265\233\233"
+ "\237\221\227\317\24\34\247\3269\315\350\215\264\301\227\200\200\201\222\222"
+ "\223\246\246\250\270\270\271\303\303\305\320\320\322\337\337\340\344\344"
+ "\347\335\335\342\351\351\354\365\365\367\360\360\363\357\357\362\363\363"
+ "\366\353\353\357\335\335\343\345\345\352\360\360\364\356\356\362\357\357"
+ "\363\356\356\362\341\341\346\347\347\354\346\346\354\341\341\346\202\355"
+ "\355\362\14\337\337\344\341\341\346\350\350\355\344\344\352\352\352\357\355"
+ "\355\362\355\355\361\353\352\360\354\354\362\350\350\355\334\334\343\356"
+ "\356\362\203\371\371\371\30\357\357\363\344\344\352\361\361\364\365\365\367"
+ "\351\351\357\345\345\352\347\347\354\362\362\365\363\363\363[[\\222kkk\246"
+ "\246\246\306\306\306\222\222\223\37\37!99:\200\200\202\344\344\344\302\302"
+ "\302\300\300\300\323\323\326\344\344\347\364\364\365\202\371\371\371B\370"
+ "\370\370\356\356\356\211\211\211MMO\264\264\264\277\277\277\330\330\330\355"
+ "\355\355\367\367\367\371\371\371\367\367\367\235\235\235zzzFFG443^^`\215"
+ "\215\215\323\323\324\351\351\352\247\250\251||}AAB:::445}}~\215\215\217y"
+ "yzNON{{{www\267\267\266\310\310\311\334\334\335\352\352\352\223\223\224\202"
+ "\202\204RQR454]]_\207\207\211\321\321\322\317\317\316\205\205\206yyz///a"
+ "cd\231\231\234\276\276\302\260\260\262\211\211\212wxy>>?../wwy\262\262\263"
+ "\325\325\332}}\200EEFnnp\333\333\337\343\343\345\337\337\344\334\334\343"
+ "\351\351\356\353\353\360\323\323\333\202\314\314\324\3\316\316\326\334\334"
+ "\343\362\362\366\202\356\356\363\15\363\363\367\365\365\372\370\370\372\363"
+ "\363\367\356\356\363\352\352\357\337\337\343\336\336\344\334\334\340\317"
+ "\317\323\277\277\303\256\256\262\231\231\233\221\242\323-\22\247\3269\314"
+ "\347\214\312\331\244\205\205\202\214\214\215\241\241\242\265\265\266\300"
+ "\300\303\315\315\317\332\332\334\342\342\344\333\333\340\343\343\347\362"
+ "\362\365\360\360\363\354\354\357\356\356\361\354\354\360\202\333\333\340"
+ "\27\351\351\354\354\354\360\353\353\357\354\354\360\337\337\345\337\337\344"
+ "\346\346\352\336\336\344\351\351\355\357\357\363\342\342\350\330\327\337"
+ "\344\344\352\342\342\350\342\342\347\351\351\355\352\352\356\350\350\354"
+ "\345\345\352\350\350\355\332\332\341\340\340\346\363\363\363\202\364\364"
+ "\364\31\362\362\363\343\343\351\342\342\347\361\361\363\354\354\360\344\344"
+ "\351\342\342\347\350\350\353\354\354\355\233\233\233\251\251\251\235\235"
+ "\235\301\301\301\322\322\322\257\257\257~~~\267\267\267\335\335\335\273\273"
+ "\273\275\275\275\320\320\320\340\340\341\347\347\352\354\354\357\361\361"
+ "\363\202\364\364\364\7\356\356\356\273\273\273\215\216\216\270\270\270\314"
+ "\314\314\337\337\337\355\355\355\202\364\364\364L\361\361\361\223\223\223"
+ "\230\230\230\245\245\245\236\236\236\223\223\223\243\243\243\310\310\311"
+ "\337\337\340\223\224\223\245\246\245\271\271\272\274\274\274\272\272\272"
+ "\267\267\266\270\270\270\306\305\305\331\332\332\301\301\301\276\276\276"
+ "\306\306\307\325\325\326\344\344\346\352\352\352\216\216\216\314\314\315"
+ "\321\322\321\322\322\322\312\312\312\257\257\257\316\316\316\270\270\271"
+ "\261\261\261\325\325\325\327\327\327\323\323\323\233\233\232\302\302\304"
+ "\244\244\246\273\273\274\323\323\323\326\326\326\330\330\330\266\266\266"
+ "\246\246\247\300\300\305\304\304\312\302\302\307\326\326\331\330\330\335"
+ "\331\331\336\323\323\331\332\332\340\354\354\360\331\331\340\311\311\322"
+ "\310\310\317\306\306\320\314\314\324\342\342\350\356\356\360\345\345\352"
+ "\352\352\356\355\355\362\357\357\363\360\360\364\355\355\362\353\353\360"
+ "\342\342\350\330\330\335\335\335\342\331\331\333\312\312\317\274\274\276"
+ "\255\255\260\227\227\231\222\235\317*\24\275\336s\324\350\250\224\227\212"
+ "\205\205\207\231\231\233\256\256\257\274\274\276\306\306\311\325\325\330"
+ "\337\337\341\332\332\336\334\334\340\354\354\356\353\353\356\351\351\353"
+ "\350\350\352\352\352\354\334\334\340\323\323\330\337\337\343\202\350\350"
+ "\352,\350\350\354\336\336\343\327\327\333\340\340\345\333\333\341\337\337"
+ "\344\353\353\357\345\345\351\323\323\332\331\331\337\337\337\344\332\332"
+ "\336\340\340\346\344\344\350\343\343\347\337\337\345\341\341\350\334\334"
+ "\341\323\323\332\351\351\353\356\356\356\355\355\356\356\356\356\346\346"
+ "\350\332\332\337\345\345\350\353\353\355\343\343\350\336\336\343\337\337"
+ "\344\344\344\347\336\336\336\314\314\316\305\305\307\315\315\315\333\333"
+ "\333\335\335\335\324\324\324\304\304\304\275\275\275\302\302\302\317\317"
+ "\317\335\335\335\347\347\347\203\351\351\353\11\354\355\356\356\356\356\353"
+ "\353\353\343\343\343\330\330\330\321\321\321\327\327\327\343\343\343\353"
+ "\353\353\202\356\356\356L\353\353\353\344\344\344\326\326\326\310\310\310"
+ "\277\277\277\275\275\275\304\304\304\320\320\320\334\334\335\336\336\337"
+ "\325\325\326\306\306\307\276\276\276\273\273\273\275\275\275\277\277\277"
+ "\301\301\301\302\302\302\304\304\304\312\312\313\326\326\327\341\341\341"
+ "\350\350\351\347\347\347\332\332\333\306\306\310\272\272\276\270\270\271"
+ "\274\274\274\304\304\304\320\320\321\333\333\334\332\332\332\314\314\315"
+ "\270\270\273\254\254\257\265\266\270\316\316\317\322\322\326\304\304\307"
+ "\266\266\271\253\253\257\257\257\263\274\274\276\270\270\275\270\270\276"
+ "\310\310\317\330\330\333\333\333\336\327\327\333\320\320\327\314\314\323"
+ "\336\336\342\341\341\346\310\310\320\302\302\311\300\300\310\302\302\311"
+ "\316\316\325\346\346\351\342\342\347\334\334\343\344\344\351\347\347\353"
+ "\350\350\354\347\347\354\350\350\353\346\346\352\327\327\334\323\323\331"
+ "\331\331\336\323\323\326\304\304\310\270\270\273\251\251\254\225\225\227"
+ "\222\230\311&*\256\324X\315\341\237\243\252\217~~\200\220\220\222\246\246"
+ "\247\266\266\267\302\302\303\315\315\317\332\332\334\330\330\333\324\324"
+ "\330\342\342\345\347\347\350\342\342\345\340\340\343\342\342\344\333\333"
+ "\336\314\314\322\322\322\326\336\336\342\341\341\343\341\341\345\333\333"
+ "\336\316\316\323\326\326\333\327\327\333\324\324\331\342\342\345\343\343"
+ "\346\323\323\331\313\312\321\325\325\332\323\323\327\324\324\331\332\332"
+ "\336\332\332\337\330\330\335\326\326\334\330\330\335\312\312\322\326\326"
+ "\332\203\345\345\345\14\343\343\344\331\331\334\323\323\330\341\341\342\341"
+ "\341\344\332\332\336\327\327\333\331\331\335\332\332\335\326\326\327\320"
+ "\320\323\326\326\327\202\335\335\335\23\332\332\332\323\323\323\320\320\320"
+ "\323\323\323\332\332\332\340\340\340\343\343\343\345\345\345\344\344\345"
+ "\342\341\343\342\342\344\344\344\345\344\344\344\341\341\341\334\334\334"
+ "\332\332\332\334\334\334\341\341\341\344\344\344\202\345\345\345\15\343\343"
+ "\343\340\340\340\331\331\331\323\323\323\317\317\317\316\316\316\321\321"
+ "\321\326\326\326\334\334\334\335\335\335\331\331\331\323\323\323\317\317"
+ "\317\204\316\316\316\12\320\320\320\323\323\323\330\330\330\334\334\335\336"
+ "\336\337\333\333\336\325\325\331\321\321\324\317\317\322\316\316\317\202"
+ "\316\316\316/\321\321\322\326\326\327\333\333\333\331\331\332\312\312\315"
+ "\271\271\275\275\275\300\314\314\316\320\320\321\307\307\313\301\301\305"
+ "\274\274\301\277\277\303\311\311\313\302\302\305\264\264\272\275\275\303"
+ "\316\316\323\330\330\333\325\325\332\313\313\321\302\302\311\313\313\322"
+ "\334\334\340\311\311\320\273\273\303\271\271\300\271\271\301\275\275\304"
+ "\322\323\327\336\336\341\323\323\330\325\325\333\333\333\340\335\335\341"
+ "\336\336\342\334\334\341\340\340\344\326\326\333\313\313\321\317\317\324"
+ "\323\323\330\312\312\316\275\275\301\265\265\267\245\245\251\224\224\226"
+ "\222\222\302$3\236\310=\303\331\217\263\277\224zz{\205\205\207\231\231\233"
+ "\253\253\255\271\271\273\304\304\306\320\320\321\323\323\325\313\313\316"
+ "\325\325\330\334\334\337\331\331\334\325\325\330\324\324\330\325\325\330"
+ "\310\310\314\304\304\311\320\320\323\326\326\331\327\327\332\325\325\330"
+ "\306\306\313\307\307\314\320\320\324\311\311\317\324\324\330\333\333\334"
+ "\324\324\326\303\302\310\304\304\312\311\311\316\306\306\312\314\314\321"
+ "\320\320\323\317\317\323\312\312\320\315\315\322\306\306\314\302\302\310"
+ "\326\326\330\332\332\332\331\331\332\332\332\332\330\330\330\311\311\317"
+ "\312\312\317\330\330\331\325\325\330\202\316\316\323\4\321\321\324\326\326"
+ "\327\322\322\324\321\321\324\202\330\330\330\6\326\326\326\324\324\324\323"
+ "\323\323\326\326\326\330\330\330\331\331\331\204\332\332\332\10\330\330\332"
+ "\331\331\332\332\332\332\331\331\331\330\330\330\327\327\327\330\330\330"
+ "\331\331\331\204\332\332\332\7\330\330\330\327\327\327\325\325\325\324\324"
+ "\324\323\323\323\324\324\324\326\326\326\202\330\330\330\2\327\327\327\325"
+ "\325\325\203\324\324\324\1\323\323\323\202\324\324\324\11\323\323\324\323"
+ "\323\323\320\320\323\316\315\321\315\315\320\322\322\324\325\325\326\327"
+ "\327\327\325\325\325\202\323\323\323\16\325\325\325\326\326\326\325\325\326"
+ "\310\310\313\275\275\302\302\302\305\320\320\322\315\315\320\303\303\307"
+ "\276\276\302\274\274\301\303\303\306\315\315\321\306\306\311\202\265\265"
+ "\273\37\302\302\307\316\316\323\317\317\323\305\305\312\272\272\277\271\271"
+ "\277\316\316\322\310\310\314\263\263\273\260\260\270\257\257\267\261\261"
+ "\271\274\274\303\322\322\325\314\314\320\304\304\311\312\312\317\316\316"
+ "\323\320\320\324\317\317\324\323\323\327\324\324\330\304\304\311\301\301"
+ "\306\307\307\315\310\310\315\277\277\303\266\266\271\257\257\263\241\241"
+ "\243\221\221\224\222\214\273!\17\215\274$\257\313o\302\324\232\203\205\177"
+ "}}\177\215\215\217\240\240\241\256\256\260\270\270\273\304\304\305\310\310"
+ "\311\301\301\305\305\305\310\321\321\322\315\315\320\202\310\310\313\14\311"
+ "\311\313\302\302\305\267\267\273\276\276\302\310\310\314\312\312\315\312"
+ "\312\314\277\277\303\270\270\274\301\301\305\276\276\302\302\302\306\202"
+ "\314\314\315\14\276\276\303\264\264\272\275\275\302\272\272\276\272\272\300"
+ "\301\301\305\303\303\306\277\277\304\276\276\303\300\300\304\264\264\271"
+ "\300\300\304\202\314\314\314\16\313\313\314\314\314\314\307\307\310\270\270"
+ "\276\301\301\304\313\313\314\306\306\311\301\301\305\302\302\306\310\310"
+ "\312\313\313\313\307\307\311\310\310\312\313\313\314\207\313\313\313\233"
+ "\314\314\314\1\313\313\314\202\312\312\313\7\310\310\312\305\305\307\302"
+ "\302\305\301\301\304\303\303\305\307\307\311\312\312\312\204\314\314\314"
+ "\1\313\314\314\202\314\314\314\12\312\312\312\274\274\301\262\262\266\272"
+ "\272\276\310\310\312\304\304\307\271\271\276\263\263\267\262\262\267\267"
+ "\267\274\202\304\304\307\13\260\260\265\251\251\261\264\264\271\301\301\304"
+ "\304\304\310\275\275\302\260\260\265\251\251\260\272\272\276\303\303\306"
+ "\256\256\264\203\244\244\253\6\251\251\260\272\272\277\306\306\311\267\267"
+ "\274\267\267\275\276\276\303\202\300\300\305\14\300\300\304\310\310\314\300"
+ "\300\304\262\262\270\270\270\275\275\275\301\273\273\277\262\262\267\255"
+ "\255\262\251\251\254\233\233\236\215\215\216\223\206\264\36:\235\300R\272"
+ "\316\221\221\226\202sst\200\200\201\222\222\223\237\237\240\250\250\253\264"
+ "\264\266\272\272\274\265\265\270\263\263\266\276\276\301\275\275\277\271"
+ "\271\274\270\270\273\271\271\273\270\270\272\254\254\260\252\252\256\266"
+ "\266\271\272\272\275\273\273\276\264\264\270\253\253\257\257\257\263\263"
+ "\263\267\260\260\264\273\273\274\275\275\275\270\270\272\252\252\256\251"
+ "\251\256\256\256\262\251\251\255\256\256\263\263\263\267\261\261\266\256"
+ "\256\262\260\260\265\253\253\257\250\250\254\270\270\272\274\274\274\273"
+ "\273\274\274\274\274\273\273\273\262\262\265\252\252\256\265\265\267\273"
+ "\273\273\266\266\271\263\263\267\266\266\271\273\273\273\272\272\273\267"
+ "\267\271\271\271\273\217\273\273\273\221\274\274\274\202\273\273\274\2\271"
+ "\271\273\270\270\273\204\267\267\271\2\271\271\273\273\273\273\210\274\274"
+ "\274\30\267\267\271\253\253\257\244\244\252\255\255\261\271\271\272\265\265"
+ "\267\252\252\256\244\244\251\243\243\251\251\251\255\265\265\267\267\267"
+ "\271\245\245\252\234\234\242\242\242\247\256\256\262\265\265\270\261\261"
+ "\265\245\245\253\232\232\241\244\244\252\266\266\271\251\251\255\231\231"
+ "\240\202\226\226\236\20\230\230\237\244\244\252\265\265\270\256\256\262\245"
+ "\245\252\252\252\256\255\255\262\257\257\263\256\256\262\263\263\267\270"
+ "\270\273\251\251\255\245\245\251\254\254\260\256\256\263\253\253\257\202"
+ "\245\245\250\3\241\241\242\223\223\225\207\207\207",
+};
+
diff --git a/src/image_data/gvo_banner_sdi_sync_green.h b/src/image_data/gvo_banner_sdi_sync_green.h
new file mode 100644
index 0000000..f8a2e0a
--- /dev/null
+++ b/src/image_data/gvo_banner_sdi_sync_green.h
@@ -0,0 +1,143 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_sdi_sync_green_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375"
+ "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374"
+ "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363"
+ "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1"
+ "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202"
+ "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362"
+ "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363"
+ "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357"
+ "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202"
+ "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202"
+ "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200"
+ "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323"
+ "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357"
+ "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327"
+ "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375"
+ "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363"
+ "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207"
+ "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364"
+ "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364"
+ "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362"
+ "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376"
+ "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363"
+ "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362"
+ "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0"
+ "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376"
+ "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360"
+ "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322"
+ "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!"
+ "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360"
+ "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20"
+ "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1"
+ "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361"
+ "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375"
+ "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375"
+ "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362"
+ "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0"
+ "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362"
+ "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11"
+ "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371"
+ "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202"
+ "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364"
+ "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302"
+ "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200"
+ "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0"
+ "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376"
+ "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326"
+ "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363"
+ "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312"
+ "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360"
+ "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370"
+ "\370\356\356\357\202\364\364\364\16\363\363\364\0\0\0\363\363\363\322\322"
+ "\322\0\0\0\376\376\376\361\362\362`a`232010\374\375\374\362\363\363\0\0\0"
+ "\375\376\375\202\357\360\360\11\0\0\0\376\376\376\0\0\0\334\334\334\316\316"
+ "\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bbb\21\21\21"
+ "\20\20\20\201\202\201\373\375\373\357\361\356\316\321\316\0\0\0\201\204\202"
+ "\367\372\367\355\360\355\0\0\0\372\375\372\354\357\354\353\356\354\0\0\0"
+ "\375\376\374~\177\177\21\21\21\20\20\20\200\200\200\373\373\373\355\355\356"
+ "\204\363\363\363\11\370\371\371\372\374\372\371\374\371\364\367\364\355\360"
+ "\356\315\320\316\2\3\2\371\375\371\362\366\362\202\354\357\354\1\371\375"
+ "\371\202\353\356\354\4\352\355\354\372\375\372\353\355\354\364\365\365\202"
+ "\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202\362\362\363\1"
+ "\357\361\357\202\356\361\356\7\355\360\356\355\360\355qupEJE\367\374\367"
+ "\352\357\353\352\357\352\203\351\356\352\6\350\355\351\351\355\352\352\355"
+ "\353\351\354\352\352\354\352\353\354\355\202\354\354\355\6\353\353\355\363"
+ "\363\363\362\362\363\362\362\362\361\362\361\356\361\356\202\355\360\356"
+ "\5\354\360\354\353\360\353\352\357\352\360\366\361\363\371\363\203\351\356"
+ "\351\203\350\355\351\2\347\354\351\350\354\350\202\350\353\352\1\352\354"
+ "\353\202\353\353\355\1\353\353\354\203\362\362\362\5\356\360\357\355\360"
+ "\356\355\360\355\354\360\354\352\357\353\202\352\357\352\16\261\266\262L"
+ "LL\16\16\16\35\35\35---<<<\200\200\200\305\312\305\347\354\350\346\353\350"
+ "\347\353\347\347\352\351\350\352\351\352\353\353\202\352\352\354\15\362\362"
+ "\362\361\361\362\360\361\361\356\360\356\355\360\355\354\357\354\352\357"
+ "\353\352\357\352\351\356\351jjj\0\0\0\5\5\5\2\2\2\202\0\0\0\11\4\4\4\"\""
+ "\"]]]\246\246\247\346\353\347\345\352\347\346\352\347\346\351\350\350\352"
+ "\352\202\351\351\353\202\361\361\362\1\360\361\360\202\354\357\355\10\353"
+ "\357\353\352\357\352\351\356\351[[[\0\0\0\1\13\1\0M\0\0\217\0\202\0\230\0"
+ "\13\0\217\0\0M\0\7\7\7ooo\277\277\277\344\352\346\344\351\346\346\351\350"
+ "\347\351\351\351\351\353\350\350\352\202\361\361\361\30\357\360\360\354\357"
+ "\355\354\357\354\351\356\352\351\356\351\261\266\262\0\0\0\1\13\1\0}\0\0"
+ "\230\0q\312o\243\341\237\212\326\207`\303^1\2560\0}\0\11\11\11\222\222\222"
+ "\330\335\331\343\351\345\344\350\346\346\347\350\350\350\352\347\347\352"
+ "\202\360\360\361\12\357\360\360\353\356\354\353\356\353\351\356\352\350\355"
+ "\351LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345\376\340\21\306\360\302\225"
+ "\333\222d\305b2\2561\0M\0DDD\324\324\324\342\350\345\343\347\345\345\347"
+ "\347\347\347\352\347\347\351\360\360\361\360\360\360\356\357\357\353\356"
+ "\354\353\356\353\202\350\355\351\23\16\16\16\2\2\2\0\217\0B\265A\243\341"
+ "\237\334\372\327\341\374\334\310\361\304\243\341\237y\316vK\271I\32\232\31"
+ "\14\14\14\325\325\325\342\350\344\342\346\345\344\346\346\346\346\351\346"
+ "\346\350\202\357\357\360\26\356\357\357\352\355\353\352\355\352\350\355\351"
+ "\347\354\350\35\35\35\0\0\0\0\230\0R\274P\225\333\222\273\353\267\303\357"
+ "\277\265\351\261\232\335\227y\316vR\274P(\252'\0\0\0\344\344\344\341\347"
+ "\343\341\345\344\343\345\346\202\345\345\350\5\357\357\360\356\356\357\355"
+ "\356\356\352\355\353\351\354\352\202\347\354\350\23---\0\0\0\0\230\0I\270"
+ "G}\317z\232\335\226\243\341\237\233\335\230\210\325\205n\311kM\272K(\252"
+ "'\0\0\0\364\364\364\340\346\343\341\345\343\342\344\345\345\345\347\344\344"
+ "\347\202\356\356\357s\354\355\356\351\354\352\351\354\351\346\353\350\346"
+ "\353\347<<<\4\4\4\0\217\0""5\2604`\302^y\316v\202\322\200\177\320|q\312o"
+ "\\\301Z@\264?\36\234\35\16\16\16\376\376\376\337\345\342\340\344\343\341"
+ "\343\344\344\344\347\343\343\346\355\355\357\355\355\356\354\355\355\350"
+ "\353\352\350\353\351\346\353\347\345\353\347\177\177\177\"\"\"\0M\0\34\244"
+ "\33A\265?W\277Ua\303_`\303^V\276TE\267D.\254-\11Q\11___\372\372\372\336\344"
+ "\341\340\343\342\341\342\343\343\343\346\342\342\346\355\355\356\354\354"
+ "\356\353\354\355\350\353\351\347\352\351\346\352\347\344\352\346\303\310"
+ "\303]]]\7\7\7\0}\0!\247\40""6\2604@\264?A\265@:\2629,\253+\24\205\24\17\17"
+ "\17\336\336\336\345\353\347\336\343\341\337\342\342\340\342\344\342\342\345"
+ "\341\341\345\354\354\356\354\354\355\352\353\354\350\352\352\347\352\350"
+ "\346\351\347\344\352\346\343\351\345\256\256\256ooo\11\11\11\0M\0\23\227"
+ "\22\36\245\36!\247\40\32\232\31\11P\10\17\17\17\316\316\316\367\367\370\336"
+ "\343\340\336\343\341\336\341\341\340\341\344\341\341\345\340\340\344\354"
+ "\354\355\353\353\355\353\353\354\351\352\352\346\351\350\345\350\347\344"
+ "\350\346\343\351\345\342\350\344\276\276\277\222\222\222DDD\14\14\14\202"
+ "\0\0\0\14\16\16\16___\336\336\336\367\367\370\336\343\340\335\342\337\336"
+ "\341\341\336\340\342\341\341\344\340\340\344\337\337\343\353\353\355\202"
+ "\352\352\354\21\351\352\352\346\350\350\345\350\347\344\347\346\343\347\344"
+ "\341\347\344\341\347\343\325\333\327\323\323\323\325\325\325\344\344\344"
+ "\364\364\364\376\376\376\371\371\372\344\352\346\335\342\340\335\342\337"
+ "\202\335\340\340\4\337\340\343\340\340\343\337\337\343\336\336\342\202\352"
+ "\352\354\202\351\351\353\10\347\350\352\345\347\346\343\346\346\343\346\345"
+ "\341\345\344\341\346\343\340\346\342\337\345\342\202\336\344\341\10\336\343"
+ "\341\336\343\340\335\342\340\335\342\337\334\341\340\335\340\340\334\337"
+ "\340\336\340\342\202\337\337\343\4\336\336\342\335\335\342\351\351\353\350"
+ "\350\353\202\350\350\352\4\347\347\352\346\347\350\344\346\347\343\345\344"
+ "\202\341\344\344\2\340\343\342\337\343\342\202\336\343\341\202\335\342\340"
+ "\1\335\340\340\202\334\337\340\2\334\336\340\336\337\342\202\336\336\342"
+ "\3\335\335\341\334\334\341\334\334\340\202\212\212\215\1\212\212\216\203"
+ "\213\213\216\5\214\214\216\213\214\216\213\215\215\213\215\216\213\214\215"
+ "\202\213\215\215\1\213\215\216\202\214\216\216\4\216\217\216\216\220\217"
+ "\217\220\221\220\220\222\203\221\221\223\3\222\222\223\222\222\224\223\223"
+ "\224\232\232\320\25\232\230\317\25\232\227\317\24\232\242\323-\232\235\317"
+ "*\232\230\311&\232\222\302$\232\214\273!\232\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_sdi_sync_grey.h b/src/image_data/gvo_banner_sdi_sync_grey.h
new file mode 100644
index 0000000..556f2f6
--- /dev/null
+++ b/src/image_data/gvo_banner_sdi_sync_grey.h
@@ -0,0 +1,138 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_sdi_sync_grey_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375"
+ "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374"
+ "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363"
+ "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1"
+ "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202"
+ "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362"
+ "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363"
+ "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357"
+ "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202"
+ "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202"
+ "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200"
+ "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323"
+ "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357"
+ "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327"
+ "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375"
+ "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363"
+ "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207"
+ "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364"
+ "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364"
+ "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362"
+ "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376"
+ "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363"
+ "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362"
+ "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0"
+ "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376"
+ "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360"
+ "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322"
+ "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!"
+ "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360"
+ "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20"
+ "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1"
+ "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361"
+ "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375"
+ "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375"
+ "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362"
+ "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0"
+ "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362"
+ "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11"
+ "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371"
+ "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202"
+ "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364"
+ "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302"
+ "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200"
+ "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0"
+ "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376"
+ "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326"
+ "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363"
+ "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312"
+ "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360"
+ "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370"
+ "\370\356\356\357\202\364\364\364\16\363\363\364\0\0\0\363\363\363\322\322"
+ "\322\0\0\0\376\376\376\362\362\363aaa333111\375\375\375\363\363\364\0\0\0"
+ "\376\376\376\202\360\360\361\11\0\0\0\376\376\376\0\0\0\334\334\334\316\316"
+ "\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bbb\21\21\21"
+ "\20\20\20\202\202\202\376\376\376\362\362\362\322\322\322\0\0\0\205\205\206"
+ "\373\373\373\361\361\361\0\0\0\376\376\376\360\360\360\357\357\360\0\0\0"
+ "\376\376\376\177\177\200\21\21\21\20\20\20\200\200\200\373\373\373\355\355"
+ "\356\204\363\363\363\1\371\371\372\202\375\375\375\6\370\370\370\361\361"
+ "\362\321\321\322\0\0\0\376\376\376\367\367\367\202\360\360\361\1\376\376"
+ "\376\202\357\357\360\4\356\356\360\376\376\376\356\356\357\365\365\366\202"
+ "\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202\362\362\363\203"
+ "\362\362\362\202\361\361\362\5qqqAAA\376\376\376\360\360\361\360\360\360"
+ "\203\357\357\360\203\356\356\357\202\355\355\356\1\354\354\356\202\354\354"
+ "\355\3\353\353\355\363\363\363\362\362\363\203\362\362\362\202\361\361\362"
+ "\202\361\361\361\3\360\360\361\367\367\370\372\372\372\203\357\357\360\203"
+ "\356\356\357\2\355\355\357\355\355\356\202\354\354\356\1\354\354\355\202"
+ "\353\353\355\1\353\353\354\203\362\362\362\202\361\361\362\202\361\361\361"
+ "\203\360\360\361\13\263\263\264HHI\16\16\16\35\35\35---<<<||}\310\310\311"
+ "\355\355\356\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352"
+ "\352\354\1\362\362\362\203\361\361\362\1\361\361\361\203\360\360\361\5\357"
+ "\357\360eeg\0\0\0\5\5\5\2\2\2\202\0\0\0\7\4\4\4\"\"\"]]]\243\243\245\354"
+ "\354\355\353\353\355\353\353\354\202\352\352\354\202\351\351\353\202\361"
+ "\361\362\1\361\361\361\203\360\360\361\7\360\360\360\357\357\360VVX\0\0\0"
+ "\11\11\11;;;ooo\202ttt\5ooo;;;\7\7\7ooo\274\274\275\203\352\352\354\202\351"
+ "\351\353\1\350\350\352\202\361\361\361\202\360\360\361\1\360\360\360\202"
+ "\357\357\360\16\263\263\264\0\0\0\11\11\11aaasss\244\260\241\272\313\267"
+ "\257\275\254\234\246\232\207\214\206aaa\11\11\11\222\222\222\335\335\336"
+ "\202\351\351\353\3\350\350\353\350\350\352\347\347\352\203\360\360\361\203"
+ "\357\357\360\6\356\356\357HHI\5\5\5;;;sss\253\271\250\202\327\357\322\10"
+ "\311\337\305\264\304\261\236\251\234\210\215\207;;;DDD\322\322\323\350\350"
+ "\353\202\350\350\352\4\347\347\352\347\347\351\360\360\361\360\360\360\203"
+ "\357\357\360\202\356\356\357\23\16\16\16\2\2\2ooo\217\226\215\272\313\267"
+ "\323\352\316\325\355\320\312\340\306\272\313\267\247\264\244\223\233\221"
+ "{~z\14\14\14\325\325\325\350\350\352\347\347\352\347\347\351\346\346\351"
+ "\346\346\350\203\357\357\360\203\356\356\357\20\355\355\356\35\35\35\0\0"
+ "\0ttt\226\237\224\264\304\261\304\331\300\310\335\303\302\325\276\267\307"
+ "\263\247\264\245\226\237\224\205\211\204\0\0\0\344\344\344\347\347\351\202"
+ "\346\346\351\202\345\345\350\1\357\357\360\203\356\356\357\1\355\355\357"
+ "\202\355\355\356\23---\0\0\0ttt\222\232\220\251\267\246\266\306\263\272\313"
+ "\267\267\307\264\256\274\253\242\256\240\223\234\222\205\211\204\0\0\0\364"
+ "\364\364\346\346\351\346\346\350\345\345\350\345\345\347\344\344\347\202"
+ "\356\356\357\1\355\355\357\202\355\355\356\20\354\354\356\354\354\355<<<"
+ "\4\4\4ooo\211\217\210\234\246\232\247\264\245\254\272\251\252\270\247\244"
+ "\260\241\232\244\230\216\225\214|\177|\16\16\16\376\376\376\202\345\345\350"
+ "\202\344\344\347\2\343\343\346\355\355\357\202\355\355\356\1\354\354\356"
+ "\202\354\354\355\17\353\353\355}}~\"\"\";;;\177\201~\216\225\215\230\242"
+ "\226\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205?@?___\372"
+ "\372\372\202\344\344\347\202\343\343\346\2\342\342\346\355\355\356\202\354"
+ "\354\356\1\354\354\355\202\353\353\355\26\352\352\354\306\306\307]]]\7\7"
+ "\7aaa\200\203\200\211\217\210\216\225\214\216\225\215\213\221\212\205\211"
+ "\204jki\17\17\17\336\336\336\353\353\355\343\343\347\343\343\346\342\342"
+ "\346\342\342\345\341\341\345\354\354\356\354\354\355\202\353\353\355\1\353"
+ "\353\354\202\352\352\354\15\351\351\353\254\254\255ooo\11\11\11;;;wyv\201"
+ "\204\200\202\205\201z}z>?>\17\17\17\316\316\316\371\371\371\202\343\343\346"
+ "\1\342\342\345\202\341\341\345\4\340\340\344\354\354\355\353\353\355\353"
+ "\353\354\202\352\352\354\203\351\351\353\5\350\350\352\275\275\276\222\222"
+ "\222DDD\14\14\14\202\0\0\0\5\16\16\16___\336\336\336\371\371\371\343\343"
+ "\346\202\342\342\345\5\341\341\345\341\341\344\340\340\344\337\337\343\353"
+ "\353\355\202\352\352\354\1\352\352\353\202\351\351\353\202\350\350\352\22"
+ "\347\347\352\347\347\351\332\332\334\323\323\324\325\325\325\344\344\344"
+ "\364\364\364\376\376\376\373\373\373\352\352\354\342\342\346\342\342\345"
+ "\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343\336\336\342"
+ "\202\352\352\354\202\351\351\353\4\350\350\353\350\350\352\347\347\352\347"
+ "\347\351\202\346\346\351\2\346\346\350\345\345\350\202\344\344\347\6\343"
+ "\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341\341\344\202"
+ "\340\340\344\202\337\337\343\4\336\336\342\335\335\342\351\351\353\350\350"
+ "\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350\202"
+ "\345\345\350\202\344\344\347\202\343\343\346\202\342\342\345\1\341\341\345"
+ "\202\340\340\344\202\337\337\343\202\336\336\342\3\335\335\341\334\334\341"
+ "\334\334\340\202\212\212\215\1\212\212\216\203\213\213\216\3\214\214\216"
+ "\214\214\217\215\215\217\202\215\215\220\202\216\216\220\1\216\216\221\202"
+ "\217\217\221\202\220\220\221\202\220\220\222\203\221\221\223\3\222\222\223"
+ "\222\222\224\223\223\224\232\232\320\25\232\230\317\25\232\227\317\24\232"
+ "\242\323-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264"
+ "\36",
+};
+
diff --git a/src/image_data/gvo_banner_sdi_sync_red.h b/src/image_data/gvo_banner_sdi_sync_red.h
new file mode 100644
index 0000000..0894cd2
--- /dev/null
+++ b/src/image_data/gvo_banner_sdi_sync_red.h
@@ -0,0 +1,143 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_sdi_sync_red_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375"
+ "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374"
+ "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363"
+ "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1"
+ "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202"
+ "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362"
+ "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363"
+ "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357"
+ "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202"
+ "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202"
+ "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200"
+ "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323"
+ "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357"
+ "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327"
+ "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375"
+ "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363"
+ "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207"
+ "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364"
+ "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364"
+ "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362"
+ "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376"
+ "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363"
+ "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362"
+ "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0"
+ "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376"
+ "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360"
+ "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322"
+ "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!"
+ "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360"
+ "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20"
+ "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1"
+ "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361"
+ "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375"
+ "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375"
+ "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362"
+ "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0"
+ "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362"
+ "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11"
+ "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371"
+ "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202"
+ "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364"
+ "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302"
+ "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200"
+ "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0"
+ "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376"
+ "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326"
+ "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363"
+ "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312"
+ "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360"
+ "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370"
+ "\370\356\356\357\202\364\364\364\31\363\363\364\0\0\0\363\363\363\322\322"
+ "\322\0\0\0\376\376\376\362\362\363aaa322100\375\374\374\363\362\363\0\0\0"
+ "\376\375\375\360\357\360\360\360\361\0\0\0\376\376\376\0\0\0\334\334\334"
+ "\316\316\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bb"
+ "b\21\21\21\20\20\20\202\201\201\376\375\375\362\360\360\322\320\320\0\0\0"
+ "\205\203\204\373\371\371\361\357\357\0\0\0\376\374\374\360\356\356\357\355"
+ "\356\0\0\0\376\375\375\177\177\200\21\21\21\20\20\20\200\200\200\373\373"
+ "\373\355\355\356\204\363\363\363\11\371\371\372\375\374\374\375\373\373\370"
+ "\366\366\361\357\360\321\317\320\3\3\3\376\374\374\367\365\365\202\360\356"
+ "\357\1\376\374\374\202\357\355\356\4\356\354\356\376\374\374\356\355\356"
+ "\365\364\365\202\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202"
+ "\362\362\363\1\362\361\361\202\362\360\360\202\361\357\360\5vttLII\376\373"
+ "\373\361\355\356\361\355\355\202\360\355\355\2\360\355\356\357\354\355\202"
+ "\356\354\355\202\355\353\354\1\354\354\356\202\354\354\355\6\353\353\355"
+ "\363\363\363\362\362\363\362\362\362\362\361\361\362\360\360\202\361\357"
+ "\360\5\361\357\357\362\356\356\361\355\356\367\364\365\372\367\367\203\360"
+ "\354\355\203\357\354\354\2\356\353\355\356\353\354\202\354\352\354\1\354"
+ "\353\354\202\353\353\355\1\353\353\354\203\362\362\362\2\361\360\361\361"
+ "\357\360\202\361\357\357\203\361\355\356\13\270\265\266GGH\16\16\16\35\35"
+ "\35---<<<yy{\314\310\311\356\353\354\355\352\354\355\352\353\202\353\351"
+ "\353\1\353\353\354\202\352\352\354\1\362\362\362\202\361\361\362\12\361\357"
+ "\360\361\357\357\360\356\357\361\356\356\361\355\356\360\354\355cce\0\0\0"
+ "\5\5\5\2\2\2\202\0\0\0\11\4\4\4\"\"\"]]]\237\237\240\355\352\353\354\351"
+ "\353\353\351\352\352\350\352\352\351\353\202\351\351\353\202\361\361\362"
+ "\1\361\361\361\203\360\356\357\7\361\355\355\360\354\355UUV\0\0\0\21\1\1"
+ "\200\0\0\357\0\0\202\376\0\0\5\357\0\0\200\0\0\7\7\7ooo\265\265\267\202\353"
+ "\350\352\4\352\350\352\351\350\352\351\351\353\350\350\352\202\361\361\361"
+ "\30\360\357\360\360\356\357\360\356\356\360\355\356\360\354\355\270\265\266"
+ "\0\0\0\21\1\1\317\0\0\376\0\0\376\230\230\376\315\315\376\264\264\376\203"
+ "\203\376GG\317\0\0\11\11\11\222\222\222\337\334\335\352\347\351\351\347\351"
+ "\350\347\352\350\350\352\347\347\352\202\360\360\361\1\360\357\360\202\357"
+ "\355\356\7\360\355\355\357\354\354FFG\5\5\5\200\0\0\376\0\0\376\252\252\202"
+ "\376\376\376\17\376\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314"
+ "\314\316\351\346\351\351\346\350\350\347\351\347\347\352\347\347\351\360"
+ "\360\361\360\360\360\357\356\357\202\357\355\356\25\357\354\355\357\354\354"
+ "\16\16\16\2\2\2\357\0\0\376^^\376\314\314\376\367\367\376\372\372\376\353"
+ "\353\376\314\314\376\240\240\376jj\357''\14\14\14\325\325\325\351\346\350"
+ "\350\345\350\347\346\350\346\346\351\346\346\350\202\357\357\360\1\357\356"
+ "\357\202\356\354\355\23\357\354\355\356\353\354\35\35\35\0\0\0\376\0\0\376"
+ "rr\376\300\300\376\342\342\376\350\350\376\335\335\376\305\305\376\240\240"
+ "\376rr\376::\0\0\0\344\344\344\350\345\347\347\344\347\346\345\350\202\345"
+ "\345\350\5\357\357\360\356\356\357\356\355\356\356\354\355\355\353\355\202"
+ "\356\353\354\23---\0\0\0\376\0\0\376gg\376\245\245\376\304\304\376\314\314"
+ "\376\305\305\376\262\262\376\223\223\376ll\376::\0\0\0\364\364\364\350\344"
+ "\347\347\344\346\345\344\347\345\345\347\344\344\347\202\356\356\357\1\355"
+ "\354\356\202\355\353\3540\355\352\354\355\352\353<<<\4\4\4\357\0\0\376LL"
+ "\376\203\203\376\240\240\376\253\253\376\247\247\376\230\230\376\177\177"
+ "\376[[\357,,\16\16\16\376\376\376\347\343\346\346\343\346\344\343\346\344"
+ "\344\347\343\343\346\355\355\357\355\355\356\355\354\355\354\352\354\354"
+ "\352\353\355\352\353\354\351\353yyz\"\"\"\200\0\0\376))\376\\\\\376yy\376"
+ "\205\205\376\203\203\376xx\376bb\376CC\200\16\16___\361\361\363\346\343\345"
+ "\345\342\345\343\342\345\343\343\346\342\342\346\355\355\356\202\354\354"
+ "\3567\354\352\353\353\351\353\354\351\353\353\350\352\312\306\307]]]\7\7"
+ "\7\317\0\0\37600\376MM\376[[\376\\\\\376SS\376@@\317\35\35\17\17\17\336\336"
+ "\336\354\351\353\344\342\345\343\341\344\342\341\345\342\342\345\341\341"
+ "\345\354\354\356\354\354\355\353\353\355\353\352\354\353\351\352\352\350"
+ "\352\353\350\352\352\347\351\243\243\245ooo\11\11\11\200\0\0\357\33\33\376"
+ "--\37600\357''\200\15\15\17\17\17\316\316\316\353\353\356\345\342\344\344"
+ "\341\344\342\340\343\341\340\344\341\341\345\340\340\344\354\354\355\353"
+ "\353\355\353\353\354\352\351\353\352\350\352\351\347\351\202\352\347\351"
+ "\5\351\346\350\263\263\265\222\222\222DDD\14\14\14\202\0\0\0\14\16\16\16"
+ "___\336\336\336\353\353\356\345\342\344\343\341\343\342\340\343\341\340\344"
+ "\341\341\344\340\340\344\337\337\343\353\353\355\202\352\352\354\27\352\352"
+ "\353\351\350\352\351\347\351\350\346\350\351\346\350\350\345\350\350\345"
+ "\347\335\331\333\313\313\315\325\325\325\344\344\344\364\364\364\376\376"
+ "\376\361\361\363\353\350\352\344\341\344\343\341\343\342\337\343\341\337"
+ "\342\340\337\343\340\340\343\337\337\343\336\336\342\202\352\352\354\202"
+ "\351\351\353\4\350\347\352\350\346\350\347\345\350\347\345\347\202\347\344"
+ "\347\2\347\344\346\347\343\346\202\346\343\345\10\345\342\345\345\342\344"
+ "\344\341\344\344\341\343\342\340\343\341\337\342\340\336\342\340\337\343"
+ "\202\337\337\343\4\336\336\342\335\335\342\351\351\353\350\350\353\202\350"
+ "\350\352\4\347\347\352\347\347\351\346\345\350\346\344\346\202\345\343\346"
+ "\202\345\342\345\202\344\341\344\202\343\340\343\1\342\337\343\202\340\336"
+ "\342\202\337\336\342\202\336\336\342\3\335\335\341\334\334\341\334\334\340"
+ "\202\212\212\215\1\212\212\216\203\213\213\216\3\214\214\216\214\214\217"
+ "\215\214\216\202\215\214\217\202\216\215\217\1\216\215\220\202\217\216\220"
+ "\202\220\217\220\2\220\217\221\220\220\222\203\221\221\223\3\222\222\223"
+ "\222\222\224\223\223\224\232\232\320\25\232\230\317\25\232\227\317\24\232"
+ "\242\323-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264"
+ "\36",
+};
+
diff --git a/src/image_data/gvo_banner_sdi_sync_yellow.h b/src/image_data/gvo_banner_sdi_sync_yellow.h
new file mode 100644
index 0000000..b31475d
--- /dev/null
+++ b/src/image_data/gvo_banner_sdi_sync_yellow.h
@@ -0,0 +1,142 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_sdi_sync_yellow_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375"
+ "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374"
+ "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363"
+ "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1"
+ "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202"
+ "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362"
+ "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356"
+ "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361"
+ "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363"
+ "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357"
+ "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202"
+ "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202"
+ "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200"
+ "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323"
+ "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357"
+ "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327"
+ "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375"
+ "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363"
+ "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207"
+ "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364"
+ "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364"
+ "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362"
+ "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376"
+ "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363"
+ "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362"
+ "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0"
+ "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376"
+ "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360"
+ "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322"
+ "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!"
+ "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360"
+ "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20"
+ "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1"
+ "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361"
+ "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375"
+ "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375"
+ "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362"
+ "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0"
+ "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362"
+ "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11"
+ "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371"
+ "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202"
+ "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364"
+ "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302"
+ "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200"
+ "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0"
+ "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376"
+ "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326"
+ "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363"
+ "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312"
+ "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360"
+ "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370"
+ "\370\356\356\357\202\364\364\364\16\363\363\364\0\0\0\363\363\363\322\322"
+ "\322\0\0\0\376\376\376\362\362\363aaa333111\375\375\375\363\363\364\0\0\0"
+ "\376\376\376\202\360\360\361\11\0\0\0\376\376\376\0\0\0\334\334\334\316\316"
+ "\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bbb\21\21\21"
+ "\20\20\20\202\202\202\376\376\376\362\362\362\322\322\322\0\0\0\205\205\206"
+ "\373\373\373\361\361\361\0\0\0\376\376\376\360\360\360\357\357\360\0\0\0"
+ "\376\376\376\177\177\200\21\21\21\20\20\20\200\200\200\373\373\373\355\355"
+ "\356\204\363\363\363\1\371\371\372\202\375\375\375\6\370\370\370\361\361"
+ "\362\321\321\321\0\0\0\375\376\373\366\367\364\202\357\360\356\7\375\376"
+ "\373\356\357\356\357\357\357\356\356\360\376\376\376\356\356\357\365\365"
+ "\366\202\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202\362\362"
+ "\363\203\362\362\362\7\361\361\361\360\361\357ppk??8\373\374\364\355\356"
+ "\347\355\356\346\202\354\355\346\4\354\355\347\354\355\350\355\355\354\356"
+ "\356\356\202\355\355\356\1\354\354\356\202\354\354\355\3\353\353\355\363"
+ "\363\363\362\362\363\203\362\362\362\7\361\361\362\361\361\361\360\360\354"
+ "\357\357\350\355\356\346\364\365\355\367\370\357\203\354\355\345\203\353"
+ "\354\344\5\352\353\345\353\354\347\353\354\354\354\354\356\354\354\355\202"
+ "\353\353\355\1\353\353\354\203\362\362\362\202\361\361\362\3\361\361\360"
+ "\360\360\354\355\356\347\202\355\356\346\16\260\261\251JJK\16\16\16\35\35"
+ "\35---<<<}}~\305\306\276\352\353\343\351\352\343\352\353\346\353\353\354"
+ "\353\353\355\353\353\354\202\352\352\354\1\362\362\362\203\361\361\362\11"
+ "\361\361\361\357\360\356\356\356\350\355\356\346\354\355\345hhi\0\0\0\5\5"
+ "\5\2\2\2\202\0\0\0\7\4\4\4\"\"\"]]]\244\244\244\351\352\342\350\351\342\352"
+ "\352\350\202\352\352\354\202\351\351\353\202\361\361\362\13\361\361\361\360"
+ "\360\361\360\360\360\357\357\353\355\356\345\354\355\345YYZ\0\0\0\16\16\1"
+ "ee\0\274\274\0\202\310\310\0\10\274\274\0ee\0\7\7\7ooo\274\274\274\347\350"
+ "\341\350\351\344\352\352\353\202\351\351\353\1\350\350\352\202\361\361\361"
+ "\202\360\360\361\26\360\360\356\355\355\347\354\355\345\260\261\251\0\0\0"
+ "\16\16\1\243\243\0\310\310\0\326\343o\335\356\237\332\351\207\324\337^\316"
+ "\3230\243\243\0\11\11\11\222\222\222\332\333\323\346\347\340\350\350\347"
+ "\350\350\353\350\350\352\347\347\352\203\360\360\361\11\357\357\360\356\357"
+ "\355\354\355\346\353\354\344JJJ\5\5\5ee\0\310\310\0\330\346\177\202\345\376"
+ "\340\16\341\367\302\333\353\222\325\340b\316\3241ee\0DDD\321\321\321\345"
+ "\346\340\347\347\345\350\350\352\347\347\352\347\347\351\360\360\361\360"
+ "\360\360\202\357\357\360\26\356\357\355\353\354\345\353\354\344\16\16\16"
+ "\2\2\2\274\274\0\320\330A\335\356\237\344\374\327\344\375\334\341\367\304"
+ "\335\356\237\327\344v\321\332I\300\303\31\14\14\14\325\325\325\345\346\337"
+ "\346\346\344\347\347\351\346\346\351\346\346\350\203\357\357\360\25\356\356"
+ "\357\355\356\354\353\354\345\352\353\343\35\35\35\0\0\0\310\310\0\322\333"
+ "P\333\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344v\322"
+ "\333P\315\321'\0\0\0\344\344\344\344\345\336\345\345\343\346\346\351\202"
+ "\345\345\350\1\357\357\360\203\356\356\357\26\354\355\354\352\353\344\352"
+ "\353\343---\0\0\0\310\310\0\321\331G\330\345z\333\354\226\335\356\237\334"
+ "\355\230\331\350\205\326\342k\322\332K\315\321'\0\0\0\364\364\364\343\344"
+ "\336\345\345\342\345\345\350\345\345\347\344\344\347\202\356\356\357\25\355"
+ "\355\357\355\355\356\354\355\353\351\352\344\351\352\342<<<\4\4\4\274\274"
+ "\0\317\3244\324\336^\327\344v\330\347\200\330\346|\326\343o\324\335Z\320"
+ "\327?\300\303\35\16\16\16\376\376\376\342\343\335\344\344\342\202\344\344"
+ "\347\2\343\343\346\355\355\357\202\355\355\356\24\354\354\356\353\354\353"
+ "\351\352\344\350\351\342}}}\"\"\"ee\0\314\317\33\320\327?\323\335U\324\337"
+ "_\324\337^\323\334T\321\330D\316\323-fg\11___\366\366\367\341\342\334\343"
+ "\343\343\202\343\343\346\2\342\342\346\355\355\356\202\354\354\356\31\354"
+ "\354\355\353\353\354\351\352\346\347\350\341\303\304\274]]]\7\7\7\243\243"
+ "\0\314\320\40\317\3254\320\327?\320\327@\317\3269\316\322+\245\250\24\17"
+ "\17\17\336\336\336\350\351\342\340\341\335\342\343\344\342\342\346\342\342"
+ "\345\341\341\345\354\354\356\354\354\355\202\353\353\355\23\353\353\354\351"
+ "\351\351\347\350\342\346\347\340\252\252\253ooo\11\11\11ee\0\277\301\22\314"
+ "\317\36\314\320\40\277\303\31fg\10\17\17\17\316\316\316\363\363\364\340\341"
+ "\333\342\342\340\342\342\345\202\341\341\345\4\340\340\344\354\354\355\353"
+ "\353\355\353\353\354\202\352\352\354\10\351\351\352\347\350\344\346\347\340"
+ "\345\346\337\272\272\273\222\222\222DDD\14\14\14\202\0\0\0\14\16\16\16__"
+ "_\336\336\336\362\362\364\340\341\333\340\340\334\341\342\343\341\341\345"
+ "\341\341\344\340\340\344\337\337\343\353\353\355\202\352\352\354\1\352\352"
+ "\353\202\351\351\353\24\347\350\350\346\347\343\344\345\337\344\345\336\327"
+ "\330\321\320\320\321\325\325\325\344\344\344\364\364\364\376\376\376\366"
+ "\366\367\347\350\341\337\340\333\340\340\334\340\340\341\341\341\344\340"
+ "\340\344\340\340\343\337\337\343\336\336\342\202\352\352\354\202\351\351"
+ "\353\10\350\350\353\350\350\352\347\347\352\347\347\350\345\345\345\344\345"
+ "\341\343\344\335\342\343\335\202\341\342\334\2\340\341\334\340\341\333\202"
+ "\337\340\333\2\340\340\337\340\341\342\202\340\340\344\202\337\337\343\4"
+ "\336\336\342\335\335\342\351\351\353\350\350\353\202\350\350\352\10\347\347"
+ "\352\347\347\351\346\346\351\346\346\350\345\345\350\345\345\347\343\343"
+ "\343\343\343\342\202\342\342\340\202\341\341\337\3\340\340\341\337\340\342"
+ "\340\340\344\202\337\337\343\202\336\336\342\3\335\335\341\334\334\341\334"
+ "\334\340\202\212\212\215\1\212\212\216\203\213\213\216\3\214\214\216\214"
+ "\214\217\215\215\217\202\215\215\220\202\216\216\220\1\216\216\221\202\217"
+ "\217\221\202\220\220\221\202\220\220\222\203\221\221\223\3\222\222\223\222"
+ "\222\224\223\223\224\232\232\320\25\232\230\317\25\232\227\317\24\232\242"
+ "\323-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid1_green.h b/src/image_data/gvo_banner_vid1_green.h
new file mode 100644
index 0000000..ec2bfea
--- /dev/null
+++ b/src/image_data/gvo_banner_vid1_green.h
@@ -0,0 +1,165 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid1_green_image = {
+ 30, 60, 3,
+ "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321"
+ "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357"
+ "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204"
+ "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367"
+ "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202"
+ "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2"
+ "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342"
+ "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344"
+ "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322"
+ "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327"
+ "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203"
+ "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336"
+ "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340"
+ "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343"
+ "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345"
+ "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323"
+ "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327"
+ "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332"
+ "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346"
+ "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324"
+ "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342"
+ "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0"
+ "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320"
+ "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240"
+ "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376"
+ "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346"
+ "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337"
+ "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372"
+ "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333"
+ "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337"
+ "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340"
+ "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331"
+ "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202"
+ "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347"
+ "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341"
+ "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0"
+ "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336"
+ "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342"
+ "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342"
+ "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333"
+ "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337"
+ "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350"
+ "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342"
+ "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333"
+ "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0"
+ "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326"
+ "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360"
+ "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370"
+ "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202"
+ "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2"
+ "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333"
+ "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337"
+ "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343"
+ "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343"
+ "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii"
+ "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202"
+ "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202"
+ "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202"
+ "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365"
+ "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341"
+ "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345"
+ "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344"
+ "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376"
+ "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342"
+ "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345"
+ "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334"
+ "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340"
+ "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0"
+ "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347"
+ "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335"
+ "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\340\341\347"
+ "xy{,-.\375\376\375\341\342\350\0\0\0\375\376\375\265\266\272\0\0\0\375\376"
+ "\375\344\345\352\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351"
+ "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340"
+ "\340\347\301\302\310\36\40\36\15\17\14\13\16\14\313\316\316\365\370\366\337"
+ "\342\345HKJ\0\0\0""9<;\0\0\0\372\375\372\343\345\350\0\0\0\20\21\20\347\347"
+ "\354\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325"
+ "\202\336\336\346\202\337\337\347\17\340\340\347\337\340\346\336\340\345\335"
+ "\340\344\342\345\347\366\371\367\370\373\371\370\373\370\343\346\351\340"
+ "\343\346\341\344\346\361\365\362\371\375\371\363\367\364\372\375\372\202"
+ "\343\346\350\2\373\375\373\374\375\374\202\351\351\355\2\352\352\355\352"
+ "\352\356\202\353\353\356\1\334\337\324\202\337\337\347\202\340\340\347\3"
+ "\341\341\350\336\340\345\336\341\344\202\336\341\345\2\337\342\345\336\343"
+ "\344\202\337\344\344\2\340\345\344\340\345\345\202\340\346\345\7\341\347"
+ "\346\342\346\346\344\347\347\344\347\350\345\350\351\346\350\351\351\352"
+ "\354\202\352\352\356\4\353\353\356\353\353\357\354\354\357\335\340\326\202"
+ "\340\340\347\13\340\340\350\341\341\350\340\341\347\336\341\344\336\341\345"
+ "\337\342\345\336\342\344\337\344\344\336\344\344\337\345\344\337\345\345"
+ "\202\340\346\345\2\341\347\345\341\347\346\202\342\350\346\5\342\350\347"
+ "\344\350\347\345\350\351\346\351\352\350\352\354\202\353\353\356\202\354"
+ "\354\357\2\355\355\357\335\340\327\203\341\341\350\2\342\342\350\337\341"
+ "\346\202\337\342\345\2\337\343\345\337\344\344\202\337\345\344\23\253\260"
+ "\256LLL\16\16\16\35\35\35---<<<\200\200\200\302\307\304\343\351\347\344\352"
+ "\350\345\351\350\347\352\352\350\352\352\353\354\356\354\354\357\355\355"
+ "\357\355\355\360\356\356\360\336\341\327\202\342\342\350\3\342\342\351\342"
+ "\343\350\340\342\345\202\340\343\346\7\337\344\344\337\345\344\337\345\345"
+ "jjj\0\0\0\5\5\5\2\2\2\202\0\0\0\11\4\4\4\"\"\"]]]\246\246\247\345\353\350"
+ "\345\352\350\347\353\352\350\353\353\352\354\355\202\355\355\360\202\356"
+ "\356\360\5\337\342\330\343\343\351\342\342\351\343\343\351\342\343\350\202"
+ "\340\343\346\10\340\344\345\337\345\345\340\346\345[[[\0\0\0\1\13\1\0M\0"
+ "\0\217\0\202\0\230\0\5\0\217\0\0M\0\7\7\7ooo\277\277\277\202\346\353\351"
+ "\2\351\354\353\353\355\356\202\356\356\360\202\357\357\361\1\340\343\331"
+ "\202\343\343\351\27\344\344\352\343\344\351\341\344\346\341\344\347\341\346"
+ "\345\340\346\345\254\261\256\0\0\0\1\13\1\0}\0\0\230\0q\312o\243\341\237"
+ "\212\326\207`\303^1\2560\0}\0\11\11\11\222\222\222\332\337\333\347\354\352"
+ "\351\355\353\354\355\355\202\357\357\361\202\360\360\361\1\341\344\332\202"
+ "\344\344\352\2\345\345\352\344\345\351\202\342\345\347\7\340\346\345\341"
+ "\347\346LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345\376\340\17\306\360\302"
+ "\225\333\222d\305b2\2561\0M\0DDD\324\324\324\350\355\351\351\355\353\354"
+ "\356\356\357\357\361\360\360\361\360\360\362\361\361\362\341\344\332\202"
+ "\345\345\352\30\345\345\353\345\346\352\342\345\347\343\346\350\341\347\346"
+ "\342\350\346\16\16\16\2\2\2\0\217\0B\265A\243\341\237\334\372\327\341\374"
+ "\334\310\361\304\243\341\237y\316vK\271I\32\232\31\14\14\14\325\325\325\351"
+ "\356\352\352\356\353\355\357\356\360\360\362\202\361\361\362\2\362\362\362"
+ "\342\345\334\203\346\346\353\30\346\347\353\343\346\350\344\347\350\342\350"
+ "\346\343\351\347\35\35\35\0\0\0\0\230\0R\274P\225\333\222\273\353\267\303"
+ "\357\277\265\351\261\232\335\227y\316vR\274P(\252'\0\0\0\344\344\344\352"
+ "\357\352\353\357\354\356\360\357\361\361\362\362\362\362\202\362\362\363"
+ "\1\343\346\334\202\347\347\353\2\347\347\354\346\347\353\202\344\347\350"
+ "\202\343\351\347\21---\0\0\0\0\230\0I\270G}\317z\232\335\226\243\341\237"
+ "\233\335\230\210\325\205n\311kM\272K(\252'\0\0\0\364\364\364\352\357\353"
+ "\354\360\354\356\360\357\202\362\362\363\3\363\363\363\363\363\364\344\347"
+ "\335\202\347\347\354\27\350\350\354\347\350\354\345\350\351\345\350\350\344"
+ "\352\347\344\352\350<<<\4\4\4\0\217\0""5\2604`\302^y\316v\202\322\200\177"
+ "\320|q\312o\\\301Z@\264?\36\234\35\16\16\16\376\376\376\353\360\353\355\361"
+ "\355\357\361\360\202\363\363\363\202\364\364\364\33\345\350\336\350\350\355"
+ "\350\350\354\351\351\355\350\351\354\346\351\351\346\351\352\345\352\350"
+ "\345\353\350\177\177\177\"\"\"\0M\0\34\244\33A\265?W\277Ua\303_`\303^V\276"
+ "TE\267D.\254-\11Q\11___\372\372\372\354\361\354\356\362\356\361\362\360\363"
+ "\363\364\203\364\364\364\1\345\350\337\203\351\351\355\26\351\352\355\346"
+ "\351\352\347\352\352\346\352\350\346\353\351\304\311\306]]]\7\7\7\0}\0!\247"
+ "\40""6\2604@\264?A\265@:\2629,\253+\24\205\24\17\17\17\336\336\336\356\364"
+ "\357\355\362\355\357\362\357\362\364\362\204\364\364\364\1\345\350\337\203"
+ "\352\352\356\4\352\353\355\350\352\353\350\353\353\350\353\352\202\347\354"
+ "\351\20\256\256\256ooo\11\11\11\0M\0\23\227\22\36\245\36!\247\40\32\232\31"
+ "\11P\10\17\17\17\316\316\316\367\367\370\355\362\355\356\363\356\360\363"
+ "\360\363\364\363\204\364\364\364\1\346\351\340\203\353\353\356\5\354\354"
+ "\357\353\354\355\350\353\353\351\354\354\350\354\352\202\350\355\351\4\276"
+ "\276\277\222\222\222DDD\14\14\14\202\0\0\0\10\16\16\16___\336\336\336\367"
+ "\367\370\355\363\355\356\363\356\360\363\357\361\363\361\203\364\364\364"
+ "\3\363\363\364\363\363\363\347\352\340\202\353\353\357\202\354\354\357\2"
+ "\354\355\356\352\354\355\202\352\355\354\20\351\356\353\351\356\352\352\357"
+ "\352\334\341\335\323\323\323\325\325\325\344\344\344\364\364\364\376\376"
+ "\376\371\371\372\357\365\360\355\363\355\356\363\356\357\363\357\360\363"
+ "\360\363\364\363\202\364\364\364\203\363\363\363\1\350\353\341\202\354\354"
+ "\357\11\355\355\357\355\355\360\356\356\360\355\356\357\354\356\355\353\356"
+ "\355\354\357\355\353\357\354\352\357\354\202\353\360\353\202\354\361\354"
+ "\3\355\362\354\355\362\355\355\363\355\202\356\363\356\5\360\363\357\360"
+ "\363\360\362\364\362\364\364\364\363\363\364\204\363\363\363\2\351\354\342"
+ "\355\355\360\202\356\356\360\203\357\357\361\6\357\360\360\356\360\360\356"
+ "\360\356\355\360\356\356\361\357\355\361\356\202\356\362\356\203\357\363"
+ "\356\5\357\363\357\360\363\357\360\363\360\361\363\361\362\363\363\205\363"
+ "\363\363\3\362\362\363\362\362\362z\177u\202ww\177\202xx\200\203yy\200\6"
+ "zz\200yz\200xz\200y{\200yz\177y{\177\202y{\200\202z|\200\4{|\200{}\201}~"
+ "\202~~\204\203\177\177\204\205\200\200\205\236\232\320\25\236\230\317\25"
+ "\236\227\317\24\236\242\323-\236\235\317*\236\230\311&\236\222\302$\236\214"
+ "\273!\236\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid1_grey.h b/src/image_data/gvo_banner_vid1_grey.h
new file mode 100644
index 0000000..3c43908
--- /dev/null
+++ b/src/image_data/gvo_banner_vid1_grey.h
@@ -0,0 +1,156 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid1_grey_image = {
+ 30, 60, 3,
+ "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321"
+ "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357"
+ "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204"
+ "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367"
+ "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202"
+ "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2"
+ "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342"
+ "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344"
+ "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322"
+ "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327"
+ "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203"
+ "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336"
+ "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340"
+ "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343"
+ "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345"
+ "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323"
+ "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327"
+ "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332"
+ "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346"
+ "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324"
+ "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342"
+ "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0"
+ "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320"
+ "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240"
+ "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376"
+ "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346"
+ "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337"
+ "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372"
+ "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333"
+ "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337"
+ "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340"
+ "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331"
+ "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202"
+ "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347"
+ "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341"
+ "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0"
+ "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336"
+ "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342"
+ "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342"
+ "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333"
+ "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337"
+ "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350"
+ "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342"
+ "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333"
+ "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0"
+ "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326"
+ "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360"
+ "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370"
+ "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202"
+ "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2"
+ "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333"
+ "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337"
+ "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343"
+ "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343"
+ "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii"
+ "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202"
+ "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202"
+ "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202"
+ "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365"
+ "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341"
+ "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345"
+ "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344"
+ "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376"
+ "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342"
+ "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345"
+ "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334"
+ "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340"
+ "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0"
+ "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347"
+ "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335"
+ "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\341\341\350"
+ "yy|--/\376\376\376\342\342\351\0\0\0\376\376\376\266\266\273\0\0\0\376\376"
+ "\376\345\345\353\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351"
+ "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340"
+ "\340\347\302\302\311!!!\20\20\20\17\17\20\317\317\322\371\371\372\343\343"
+ "\351LLN\0\0\0==?\0\0\0\376\376\376\346\346\353\0\0\0\21\21\21\347\347\354"
+ "\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325\202"
+ "\336\336\346\202\337\337\347\202\340\340\347\202\341\341\350\2\346\346\353"
+ "\372\372\373\202\374\374\375\7\347\347\355\344\344\352\345\345\352\366\366"
+ "\367\376\376\376\370\370\371\376\376\376\202\347\347\354\2\376\376\376\375"
+ "\375\375\202\351\351\355\2\352\352\355\352\352\356\202\353\353\356\1\334"
+ "\337\324\202\337\337\347\202\340\340\347\202\341\341\350\1\342\342\350\202"
+ "\342\342\351\202\343\343\351\202\344\344\352\2\345\345\352\345\345\353\202"
+ "\346\346\353\202\347\347\354\202\350\350\354\202\351\351\355\1\352\352\355"
+ "\202\352\352\356\4\353\353\356\353\353\357\354\354\357\335\340\326\202\340"
+ "\340\347\1\340\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343"
+ "\343\351\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\2\347"
+ "\347\353\347\347\354\202\350\350\354\1\350\350\355\202\351\351\355\202\352"
+ "\352\356\202\353\353\356\202\354\354\357\2\355\355\357\335\340\327\203\341"
+ "\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344\344\352\202\345"
+ "\345\352\11\254\254\260HHI\16\16\16\35\35\35---<<<||}\305\305\310\351\351"
+ "\355\202\352\352\356\202\353\353\356\202\354\354\357\4\355\355\357\355\355"
+ "\360\356\356\360\336\341\327\202\342\342\350\1\342\342\351\202\343\343\351"
+ "\203\344\344\352\6\345\345\352\345\345\353eeg\0\0\0\5\5\5\2\2\2\202\0\0\0"
+ "\4\4\4\4\"\"\"]]]\243\243\245\202\353\353\356\203\354\354\357\202\355\355"
+ "\360\202\356\356\360\3\337\342\330\343\343\351\342\342\351\202\343\343\351"
+ "\202\344\344\352\10\345\345\352\345\345\353\346\346\353VVX\0\0\0\11\11\11"
+ ";;;ooo\202ttt\5ooo;;;\7\7\7ooo\274\274\275\202\354\354\357\2\355\355\357"
+ "\355\355\360\202\356\356\360\202\357\357\361\1\340\343\331\202\343\343\351"
+ "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\17\255\255\260"
+ "\0\0\0\11\11\11aaasss\244\260\241\272\313\267\257\275\254\234\246\232\207"
+ "\214\206aaa\11\11\11\222\222\222\337\337\341\355\355\360\202\356\356\360"
+ "\202\357\357\361\202\360\360\361\1\341\344\332\202\344\344\352\202\345\345"
+ "\352\203\346\346\353\6\347\347\354HHI\5\5\5;;;sss\253\271\250\202\327\357"
+ "\322\7\311\337\305\264\304\261\236\251\234\210\215\207;;;DDD\322\322\323"
+ "\202\356\356\360\202\357\357\361\4\360\360\361\360\360\362\361\361\362\341"
+ "\344\332\202\345\345\352\1\345\345\353\202\346\346\353\202\347\347\354\17"
+ "\350\350\354\16\16\16\2\2\2ooo\217\226\215\272\313\267\323\352\316\325\355"
+ "\320\312\340\306\272\313\267\247\264\244\223\233\221{~z\14\14\14\325\325"
+ "\325\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362"
+ "\362\342\345\334\203\346\346\353\202\347\347\354\202\350\350\354\21\351\351"
+ "\355\35\35\35\0\0\0ttt\226\237\224\264\304\261\304\331\300\310\335\303\302"
+ "\325\276\267\307\263\247\264\245\226\237\224\205\211\204\0\0\0\344\344\344"
+ "\360\360\361\360\360\362\202\361\361\362\1\362\362\362\202\362\362\363\1"
+ "\343\346\334\202\347\347\353\202\347\347\354\2\350\350\354\350\350\355\202"
+ "\351\351\355\17---\0\0\0ttt\222\232\220\251\267\246\266\306\263\272\313\267"
+ "\267\307\264\256\274\253\242\256\240\223\234\222\205\211\204\0\0\0\364\364"
+ "\364\360\360\362\202\361\361\362\202\362\362\363\3\363\363\363\363\363\364"
+ "\344\347\335\202\347\347\354\2\350\350\354\350\350\355\202\351\351\355\21"
+ "\352\352\355\352\352\356<<<\4\4\4ooo\211\217\210\234\246\232\247\264\245"
+ "\254\272\251\252\270\247\244\260\241\232\244\230\216\225\214|\177|\16\16"
+ "\16\376\376\376\361\361\362\202\362\362\363\202\363\363\363\202\364\364\364"
+ "\3\345\350\336\350\350\355\350\350\354\202\351\351\355\2\352\352\355\352"
+ "\352\356\202\353\353\356\17}}~\"\"\";;;\177\201~\216\225\215\230\242\226"
+ "\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205?@?___\372\372"
+ "\372\362\362\363\202\363\363\363\1\363\363\364\203\364\364\364\1\345\350"
+ "\337\203\351\351\355\202\352\352\356\202\353\353\356\21\354\354\357\307\307"
+ "\312]]]\7\7\7aaa\200\203\200\211\217\210\216\225\214\216\225\215\213\221"
+ "\212\205\211\204jki\17\17\17\336\336\336\365\365\366\363\363\363\363\363"
+ "\364\205\364\364\364\1\345\350\337\203\352\352\356\202\353\353\356\202\354"
+ "\354\357\17\355\355\357\355\355\360\254\254\255ooo\11\11\11;;;wyv\201\204"
+ "\200\202\205\201z}z>?>\17\17\17\316\316\316\371\371\371\363\363\364\207\364"
+ "\364\364\1\346\351\340\203\353\353\356\203\354\354\357\202\355\355\360\202"
+ "\356\356\360\4\275\275\276\222\222\222DDD\14\14\14\202\0\0\0\4\16\16\16_"
+ "__\336\336\336\371\371\371\207\364\364\364\3\363\363\364\363\363\363\347"
+ "\352\340\202\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356"
+ "\356\360\202\357\357\361\11\360\360\361\341\341\343\323\323\324\325\325\325"
+ "\344\344\344\364\364\364\376\376\376\373\373\373\366\366\367\207\364\364"
+ "\364\203\363\363\363\1\350\353\341\202\354\354\357\2\355\355\357\355\355"
+ "\360\202\356\356\360\202\357\357\361\202\360\360\361\1\360\360\362\202\361"
+ "\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\1\363"
+ "\363\364\204\363\363\363\2\351\354\342\355\355\360\202\356\356\360\203\357"
+ "\357\361\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\2\363"
+ "\363\363\363\363\364\207\364\364\364\1\363\363\364\205\363\363\363\3\362"
+ "\362\363\362\362\362z\177u\202ww\177\202xx\200\203yy\200\202zz\200\1zz\201"
+ "\202{{\201\1||\201\202||\202\203}}\202\3}}\203~~\203~~\204\203\177\177\204"
+ "\205\200\200\205\236\232\320\25\236\230\317\25\236\227\317\24\236\242\323"
+ "-\236\235\317*\236\230\311&\236\222\302$\236\214\273!\236\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid1_red.h b/src/image_data/gvo_banner_vid1_red.h
new file mode 100644
index 0000000..6133f09
--- /dev/null
+++ b/src/image_data/gvo_banner_vid1_red.h
@@ -0,0 +1,163 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid1_red_image = {
+ 30, 60, 3,
+ "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321"
+ "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357"
+ "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204"
+ "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367"
+ "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202"
+ "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2"
+ "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342"
+ "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344"
+ "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322"
+ "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327"
+ "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203"
+ "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336"
+ "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340"
+ "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343"
+ "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345"
+ "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323"
+ "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327"
+ "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332"
+ "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346"
+ "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324"
+ "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342"
+ "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0"
+ "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320"
+ "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240"
+ "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376"
+ "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346"
+ "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337"
+ "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372"
+ "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333"
+ "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337"
+ "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340"
+ "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331"
+ "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202"
+ "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347"
+ "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341"
+ "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0"
+ "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336"
+ "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342"
+ "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342"
+ "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333"
+ "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337"
+ "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350"
+ "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342"
+ "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333"
+ "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0"
+ "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326"
+ "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360"
+ "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370"
+ "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202"
+ "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2"
+ "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333"
+ "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337"
+ "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343"
+ "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343"
+ "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii"
+ "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202"
+ "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202"
+ "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202"
+ "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365"
+ "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341"
+ "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345"
+ "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344"
+ "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376"
+ "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342"
+ "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345"
+ "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334"
+ "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340"
+ "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0"
+ "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347"
+ "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335"
+ "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\341\341\350"
+ "yy|-,.\376\375\375\342\341\350\0\0\0\376\375\375\266\265\272\0\0\0\376\376"
+ "\376\345\345\353\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351"
+ "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340"
+ "\340\347\302\301\310!\40\40\20\16\16\17\15\16\317\315\320\371\367\370\343"
+ "\341\347LJL\0\0\0=;=\0\0\0\376\374\374\346\345\352\0\0\0\21\21\21\347\347"
+ "\354\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325"
+ "\202\336\336\346\202\337\337\347\202\340\340\347\4\341\340\347\341\337\346"
+ "\346\344\351\372\370\371\202\374\372\373\7\347\345\353\344\342\350\345\343"
+ "\350\366\364\365\376\374\374\370\366\367\376\374\374\202\347\345\352\2\376"
+ "\375\375\375\374\374\202\351\351\355\2\352\352\355\352\352\356\202\353\353"
+ "\356\1\334\337\324\202\337\337\347\202\340\340\347\3\341\341\350\341\340"
+ "\347\342\340\346\202\342\340\347\6\343\341\347\344\341\347\345\342\350\345"
+ "\343\350\346\343\350\346\343\351\202\347\344\351\202\350\345\352\202\350"
+ "\346\352\202\351\347\353\1\352\352\355\202\352\352\356\4\353\353\356\353"
+ "\353\357\354\354\357\335\340\326\202\340\340\347\13\340\340\350\341\341\350"
+ "\341\340\347\342\340\346\342\340\347\343\341\347\344\341\347\345\342\350"
+ "\346\343\350\347\343\350\347\343\351\202\350\344\351\2\350\345\351\350\345"
+ "\352\202\351\346\352\5\351\346\353\352\347\353\351\347\353\352\350\354\352"
+ "\351\355\202\353\353\356\202\354\354\357\2\355\355\357\335\340\327\203\341"
+ "\341\350\2\342\342\350\342\341\350\202\343\341\347\2\345\342\350\346\343"
+ "\350\202\347\343\350\11\262\256\262GGH\16\16\16\35\35\35---<<<yy{\311\305"
+ "\310\352\347\353\202\353\350\354\202\353\351\354\202\354\354\357\4\355\355"
+ "\357\355\355\360\356\356\360\336\341\327\202\342\342\350\3\342\342\351\343"
+ "\343\351\343\341\347\202\344\342\350\7\345\342\350\347\343\350\347\343\351"
+ "cce\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\237\237\240\202\354\351"
+ "\354\202\354\352\355\1\354\353\356\202\355\355\360\202\356\356\360\3\337"
+ "\342\330\343\343\351\342\342\351\202\343\343\351\202\344\342\350\10\346\343"
+ "\350\347\343\351\350\344\351UUV\0\0\0\21\1\1\200\0\0\357\0\0\202\376\0\0"
+ "\11\357\0\0\200\0\0\7\7\7ooo\265\265\267\355\352\354\355\352\355\355\353"
+ "\355\355\354\357\202\356\356\360\202\357\357\361\1\340\343\331\202\343\343"
+ "\351\27\344\344\352\344\343\351\345\343\350\345\343\351\347\344\351\350\344"
+ "\351\263\257\262\0\0\0\21\1\1\317\0\0\376\0\0\376\230\230\376\315\315\376"
+ "\264\264\376\203\203\376GG\317\0\0\11\11\11\222\222\222\341\336\340\356\353"
+ "\355\356\354\356\356\355\357\202\357\357\361\202\360\360\361\1\341\344\332"
+ "\202\344\344\352\2\345\345\352\345\344\351\202\346\344\351\7\347\344\351"
+ "\350\345\352FFG\5\5\5\200\0\0\376\0\0\376\252\252\202\376\376\376\17\376"
+ "\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314\314\316\357\354\355"
+ "\356\354\356\357\356\360\357\357\361\360\360\361\360\360\362\361\361\362"
+ "\341\344\332\202\345\345\352\30\345\345\353\346\345\352\346\344\351\347\345"
+ "\352\350\345\352\351\346\352\16\16\16\2\2\2\357\0\0\376^^\376\314\314\376"
+ "\367\367\376\372\372\376\353\353\376\314\314\376\240\240\376jj\357''\14\14"
+ "\14\325\325\325\360\354\356\357\355\357\360\357\360\360\360\362\202\361\361"
+ "\362\2\362\362\362\342\345\334\203\346\346\353\30\347\346\353\347\345\352"
+ "\350\346\352\351\346\352\352\347\353\35\35\35\0\0\0\376\0\0\376rr\376\300"
+ "\300\376\342\342\376\350\350\376\335\335\376\305\305\376\240\240\376rr\376"
+ "::\0\0\0\344\344\344\361\355\356\360\356\360\361\360\361\361\361\362\362"
+ "\362\362\202\362\362\363\1\343\346\334\202\347\347\353\4\347\347\354\347"
+ "\346\353\350\346\352\350\346\353\202\352\347\353\21---\0\0\0\376\0\0\376"
+ "gg\376\245\245\376\304\304\376\314\314\376\305\305\376\262\262\376\223\223"
+ "\376ll\376::\0\0\0\364\364\364\361\355\357\361\357\360\361\360\361\202\362"
+ "\362\363\3\363\363\363\363\363\364\344\347\335\202\347\347\354\2\350\350"
+ "\354\350\347\354\202\351\347\353\23\353\350\353\353\350\354<<<\4\4\4\357"
+ "\0\0\376LL\376\203\203\376\240\240\376\253\253\376\247\247\376\230\230\376"
+ "\177\177\376[[\357,,\16\16\16\376\376\376\362\356\357\362\360\361\362\361"
+ "\362\202\363\363\363\202\364\364\364\7\345\350\336\350\350\355\350\350\354"
+ "\351\351\355\351\350\354\352\350\353\352\350\354\202\354\351\354\22yyz\""
+ "\"\"\200\0\0\376))\376\\\\\376yy\376\205\205\376\203\203\376xx\376bb\376"
+ "CC\200\16\16___\361\361\363\363\357\360\363\361\361\363\362\362\363\363\364"
+ "\203\364\364\364\1\345\350\337\203\351\351\355\26\352\352\356\352\350\354"
+ "\353\351\354\354\351\354\355\352\354\313\307\312]]]\7\7\7\317\0\0\37600\376"
+ "MM\376[[\376\\\\\376SS\376@@\317\35\35\17\17\17\336\336\336\366\362\363\364"
+ "\360\360\363\361\362\364\363\363\204\364\364\364\1\345\350\337\203\352\352"
+ "\356\2\353\353\356\353\352\355\202\354\352\355\202\356\353\355\15\243\243"
+ "\245ooo\11\11\11\200\0\0\357\33\33\376--\37600\357''\200\15\15\17\17\17\316"
+ "\316\316\353\353\356\364\360\361\202\364\362\362\1\364\363\363\204\364\364"
+ "\364\1\346\351\340\203\353\353\356\5\354\354\357\354\353\356\354\352\355"
+ "\355\353\356\356\353\356\202\357\354\355\4\263\263\265\222\222\222DDD\14"
+ "\14\14\202\0\0\0\4\16\16\16___\336\336\336\353\353\356\202\365\361\361\2"
+ "\364\362\362\364\363\363\203\364\364\364\3\363\363\364\363\363\363\347\352"
+ "\340\202\353\353\357\202\354\354\357\2\355\355\357\355\354\357\202\356\354"
+ "\356\13\360\355\357\360\355\356\361\355\356\343\340\342\313\313\315\325\325"
+ "\325\344\344\344\364\364\364\376\376\376\361\361\363\367\363\364\202\365"
+ "\361\361\202\364\362\362\1\364\363\363\202\364\364\364\203\363\363\363\1"
+ "\350\353\341\202\354\354\357\4\355\355\357\355\355\360\356\356\360\356\355"
+ "\357\202\357\355\357\202\360\356\357\1\361\356\357\202\362\356\357\202\363"
+ "\357\360\2\364\360\360\364\360\361\202\365\361\361\203\364\362\362\3\364"
+ "\363\363\364\364\364\363\363\364\204\363\363\363\2\351\354\342\355\355\360"
+ "\202\356\356\360\203\357\357\361\2\360\360\361\360\357\361\202\361\357\360"
+ "\202\362\360\361\2\363\361\361\363\361\362\206\364\362\362\2\364\363\363"
+ "\363\362\363\205\363\363\363\3\362\362\363\362\362\362z\177u\202ww\177\202"
+ "xx\200\203yy\200\202zz\200\1zy\200\202{z\200\1|{\200\202|{\201\203}|\201"
+ "\3}|\202~}\202~~\204\203\177\177\204\205\200\200\205\236\232\320\25\236\230"
+ "\317\25\236\227\317\24\236\242\323-\236\235\317*\236\230\311&\236\222\302"
+ "$\236\214\273!\236\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid1_yellow.h b/src/image_data/gvo_banner_vid1_yellow.h
new file mode 100644
index 0000000..d988af3
--- /dev/null
+++ b/src/image_data/gvo_banner_vid1_yellow.h
@@ -0,0 +1,163 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid1_yellow_image = {
+ 30, 60, 3,
+ "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321"
+ "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357"
+ "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204"
+ "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367"
+ "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202"
+ "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2"
+ "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342"
+ "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344"
+ "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322"
+ "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327"
+ "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203"
+ "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336"
+ "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340"
+ "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343"
+ "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345"
+ "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323"
+ "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327"
+ "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332"
+ "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346"
+ "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324"
+ "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342"
+ "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0"
+ "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320"
+ "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240"
+ "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376"
+ "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346"
+ "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337"
+ "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372"
+ "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333"
+ "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337"
+ "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340"
+ "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331"
+ "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202"
+ "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347"
+ "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341"
+ "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0"
+ "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336"
+ "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342"
+ "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342"
+ "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333"
+ "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337"
+ "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350"
+ "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342"
+ "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333"
+ "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0"
+ "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326"
+ "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360"
+ "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370"
+ "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202"
+ "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2"
+ "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333"
+ "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337"
+ "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343"
+ "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343"
+ "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii"
+ "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202"
+ "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202"
+ "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202"
+ "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365"
+ "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341"
+ "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345"
+ "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344"
+ "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376"
+ "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342"
+ "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345"
+ "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334"
+ "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340"
+ "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0"
+ "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347"
+ "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335"
+ "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\341\341\350"
+ "yy|--/\376\376\376\342\342\351\0\0\0\376\376\376\266\266\273\0\0\0\376\376"
+ "\376\345\345\353\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351"
+ "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340"
+ "\340\347\302\302\311!!!\20\20\20\17\17\20\317\317\322\371\371\372\343\343"
+ "\351LLN\0\0\0==?\0\0\0\376\376\376\346\346\353\0\0\0\21\21\21\347\347\354"
+ "\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325\202"
+ "\336\336\346\202\337\337\347\202\340\340\347\202\341\341\350\13\346\346\353"
+ "\372\372\373\374\374\374\374\374\373\346\347\352\343\344\347\344\345\347"
+ "\365\366\364\375\376\373\367\370\367\376\376\375\202\347\347\354\2\376\376"
+ "\376\375\375\375\202\351\351\355\2\352\352\355\352\352\356\202\353\353\356"
+ "\1\334\337\324\202\337\337\347\202\340\340\347\202\341\341\350\11\342\342"
+ "\350\342\342\351\342\342\350\342\343\346\342\342\343\342\342\341\341\342"
+ "\340\342\343\340\342\343\341\202\343\344\341\4\344\345\343\345\346\345\347"
+ "\347\351\350\350\353\202\351\351\355\1\352\352\355\202\352\352\356\4\353"
+ "\353\356\353\353\357\354\354\357\335\340\326\202\340\340\347\1\340\340\350"
+ "\202\341\341\350\10\342\342\350\342\342\351\343\343\350\342\342\344\342\342"
+ "\341\341\342\337\342\343\337\342\343\340\202\343\344\340\2\344\345\340\344"
+ "\345\341\202\345\346\341\3\345\346\343\347\350\346\350\351\353\202\352\352"
+ "\356\202\353\353\356\202\354\354\357\2\355\355\357\335\340\327\203\341\341"
+ "\350\6\342\342\350\342\342\351\343\343\351\343\343\350\343\343\345\341\342"
+ "\340\202\342\343\337\15\251\252\245JJK\16\16\16\35\35\35---<<<}}~\302\303"
+ "\275\346\347\342\347\350\343\350\351\347\353\353\355\353\353\356\202\354"
+ "\354\357\4\355\355\357\355\355\360\356\356\360\336\341\327\202\342\342\350"
+ "\1\342\342\351\202\343\343\351\11\344\344\352\343\344\347\342\342\341\342"
+ "\343\337\342\343\340hhi\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\244"
+ "\244\244\202\350\351\343\1\353\353\353\202\354\354\357\202\355\355\360\202"
+ "\356\356\360\3\337\342\330\343\343\351\342\342\351\202\343\343\351\12\344"
+ "\344\352\344\344\351\344\344\344\342\343\340\343\344\340YYZ\0\0\0\16\16\1"
+ "ee\0\274\274\0\202\310\310\0\11\274\274\0ee\0\7\7\7ooo\274\274\274\351\352"
+ "\344\352\353\347\355\355\356\355\355\360\202\356\356\360\202\357\357\361"
+ "\1\340\343\331\202\343\343\351\202\344\344\352\25\345\345\352\345\345\351"
+ "\344\344\342\343\344\340\252\253\245\0\0\0\16\16\1\243\243\0\310\310\0\326"
+ "\343o\335\356\237\332\351\207\324\337^\316\3230\243\243\0\11\11\11\222\222"
+ "\222\334\335\326\352\353\345\355\355\354\356\356\360\202\357\357\361\202"
+ "\360\360\361\1\341\344\332\202\344\344\352\202\345\345\352\11\346\346\353"
+ "\345\346\350\343\344\341\344\345\341JJJ\5\5\5ee\0\310\310\0\330\346\177\202"
+ "\345\376\340\11\341\367\302\333\353\222\325\340b\316\3241ee\0DDD\321\321"
+ "\321\353\354\345\355\355\353\202\357\357\361\4\360\360\361\360\360\362\361"
+ "\361\362\341\344\332\202\345\345\352\1\345\345\353\202\346\346\353\25\346"
+ "\347\351\344\345\342\345\346\341\16\16\16\2\2\2\274\274\0\320\330A\335\356"
+ "\237\344\374\327\344\375\334\341\367\304\335\356\237\327\344v\321\332I\300"
+ "\303\31\14\14\14\325\325\325\354\355\346\356\356\353\360\360\361\360\360"
+ "\362\202\361\361\362\2\362\362\362\342\345\334\203\346\346\353\202\347\347"
+ "\354\23\347\350\351\345\346\342\346\347\342\35\35\35\0\0\0\310\310\0\322"
+ "\333P\333\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344"
+ "v\322\333P\315\321'\0\0\0\344\344\344\355\356\346\357\357\354\202\361\361"
+ "\362\1\362\362\362\202\362\362\363\1\343\346\334\202\347\347\353\202\347"
+ "\347\354\25\350\350\354\347\350\352\346\347\343\346\347\342---\0\0\0\310"
+ "\310\0\321\331G\330\345z\333\354\226\335\356\237\334\355\230\331\350\205"
+ "\326\342k\322\332K\315\321'\0\0\0\364\364\364\355\356\347\360\360\354\361"
+ "\361\362\202\362\362\363\3\363\363\363\363\363\364\344\347\335\202\347\347"
+ "\354\4\350\350\354\350\350\355\351\351\355\350\351\352\202\347\350\343\21"
+ "<<<\4\4\4\274\274\0\317\3244\324\336^\327\344v\330\347\200\330\346|\326\343"
+ "o\324\335Z\320\327?\300\303\35\16\16\16\376\376\376\356\357\347\361\361\355"
+ "\362\362\363\202\363\363\363\202\364\364\364\3\345\350\336\350\350\355\350"
+ "\350\354\202\351\351\355\26\352\352\355\351\352\354\350\351\345\350\351\343"
+ "}}}\"\"\"ee\0\314\317\33\320\327?\323\335U\324\337_\324\337^\323\334T\321"
+ "\330D\316\323-fg\11___\366\366\367\357\360\350\362\362\357\363\363\363\363"
+ "\363\364\203\364\364\364\1\345\350\337\203\351\351\355\202\352\352\356\23"
+ "\353\353\355\351\352\347\351\352\344\304\305\277]]]\7\7\7\243\243\0\314\320"
+ "\40\317\3254\320\327?\320\327@\317\3269\316\322+\245\250\24\17\17\17\336"
+ "\336\336\362\363\353\360\361\351\362\363\362\205\364\364\364\1\345\350\337"
+ "\203\352\352\356\202\353\353\356\2\354\354\357\353\353\354\202\352\353\345"
+ "\16\252\252\253ooo\11\11\11ee\0\277\301\22\314\317\36\314\320\40\277\303"
+ "\31fg\10\17\17\17\316\316\316\363\363\364\360\361\351\363\363\356\206\364"
+ "\364\364\1\346\351\340\203\353\353\356\203\354\354\357\2\355\355\357\353"
+ "\354\351\202\353\354\345\4\272\272\273\222\222\222DDD\14\14\14\202\0\0\0"
+ "\7\16\16\16___\336\336\336\362\362\364\361\362\351\362\362\353\363\364\362"
+ "\204\364\364\364\3\363\363\364\363\363\363\347\352\340\202\353\353\357\202"
+ "\354\354\357\22\355\355\357\355\355\360\356\356\360\355\356\356\355\356\352"
+ "\354\355\346\355\356\346\336\337\330\320\320\321\325\325\325\344\344\344"
+ "\364\364\364\376\376\376\366\366\367\363\364\354\361\362\351\362\362\353"
+ "\363\363\360\204\364\364\364\203\363\363\363\1\350\353\341\202\354\354\357"
+ "\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361\3\360\360\360"
+ "\357\357\355\356\357\352\202\356\357\347\202\357\360\350\6\360\361\350\360"
+ "\361\351\361\362\351\361\362\352\363\363\356\363\364\362\203\364\364\364"
+ "\1\363\363\364\204\363\363\363\2\351\354\342\355\355\360\202\356\356\360"
+ "\203\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362"
+ "\361\361\357\202\362\362\356\203\363\363\356\2\363\363\360\363\364\362\202"
+ "\364\364\364\1\363\363\364\205\363\363\363\3\362\362\363\362\362\362z\177"
+ "u\202ww\177\202xx\200\203yy\200\202zz\200\1zz\201\202{{\201\1||\201\202|"
+ "|\202\203}}\202\3}}\203~~\203~~\204\203\177\177\204\205\200\200\205\236\232"
+ "\320\25\236\230\317\25\236\227\317\24\236\242\323-\236\235\317*\236\230\311"
+ "&\236\222\302$\236\214\273!\236\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid2_green.h b/src/image_data/gvo_banner_vid2_green.h
new file mode 100644
index 0000000..58852c8
--- /dev/null
+++ b/src/image_data/gvo_banner_vid2_green.h
@@ -0,0 +1,146 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid2_green_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370"
+ "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371"
+ "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374"
+ "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350"
+ "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351"
+ "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354"
+ "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350"
+ "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347"
+ "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337"
+ "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17"
+ "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347"
+ "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356"
+ "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240"
+ "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0"
+ "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0"
+ "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0"
+ "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353"
+ "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202"
+ "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342"
+ "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0"
+ "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376"
+ "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355"
+ "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366"
+ "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0"
+ "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20"
+ "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352"
+ "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350"
+ "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353"
+ "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357"
+ "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374"
+ "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376"
+ "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357"
+ "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376"
+ "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352"
+ "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355"
+ "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360"
+ "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>"
+ "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360"
+ "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361"
+ "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO"
+ "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355"
+ "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361"
+ "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355"
+ "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357"
+ "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360"
+ "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350"
+ "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360"
+ "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376"
+ "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372"
+ "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352"
+ "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315"
+ "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0"
+ "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203"
+ "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\357\360"
+ "\362\355\356\357_`_@A@\375\376\375\357\360\360\0\0\0\375\376\375\300\301"
+ "\300\0\0\0\375\376\375\362\362\363\0\0\0\376\376\376\205\364\364\364\202"
+ "\353\353\356\202\354\354\357\21\355\355\357\314\315\317/1/\16\20\15\0\0\0"
+ ",/,\323\326\324\366\371\367\354\357\356MPM\0\0\0=@=\0\0\0\373\375\373\362"
+ "\363\362\40!\40\0\0\0\205\364\364\364\202\354\354\357\24\355\355\357\354"
+ "\355\357\352\354\355\352\355\354\354\357\356\367\372\367\371\374\371\372"
+ "\375\371\366\372\367\356\362\357\354\360\355\355\361\356\365\371\365\371"
+ "\375\371\367\372\367\372\375\372\360\363\360\361\363\361\374\375\374\376"
+ "\376\376\202\364\364\364\7\363\363\364\363\363\363\354\354\357\355\355\357"
+ "\355\355\360\353\355\355\352\355\354\202\353\356\355\2\354\357\354\353\357"
+ "\354\202\353\360\354\202\354\361\354\202\355\362\354\3\355\362\356\356\363"
+ "\356\357\363\357\202\360\363\360\3\361\363\360\363\364\363\364\364\364\203"
+ "\363\363\363\3\355\355\360\356\356\360\355\356\357\202\353\356\355\3\354"
+ "\357\355\353\357\354\352\357\354\202\353\360\353\202\354\361\354\2\355\362"
+ "\354\355\362\355\203\355\363\355\5\356\363\355\356\363\356\360\363\357\360"
+ "\363\360\361\363\362\204\363\363\363\202\356\356\360\4\354\356\356\353\356"
+ "\355\354\357\355\353\357\355\202\353\360\353\11\354\361\354\263\270\263L"
+ "LL\16\16\16\35\35\35---<<<\200\200\200\311\316\311\202\355\363\355\4\355"
+ "\362\356\357\362\357\360\362\357\362\363\362\202\363\363\363\7\362\362\363"
+ "\357\357\361\356\357\360\355\357\355\354\357\356\355\360\355\353\360\354"
+ "\202\354\361\354\4jjj\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\246\246"
+ "\247\202\355\362\354\3\356\362\356\357\362\357\361\363\361\202\362\362\363"
+ "\3\362\362\362\360\360\361\357\360\361\202\355\360\356\1\355\361\354\202"
+ "\354\361\354\5[[[\0\0\0\1\13\1\0M\0\0\217\0\202\0\230\0\11\0\217\0\0M\0\7"
+ "\7\7ooo\277\277\277\355\362\354\355\362\355\356\361\357\360\362\361\203\362"
+ "\362\362\30\360\360\362\360\361\361\355\360\356\356\361\357\354\361\355\355"
+ "\362\354\264\271\264\0\0\0\1\13\1\0}\0\0\230\0q\312o\243\341\237\212\326"
+ "\207`\303^1\2560\0}\0\11\11\11\222\222\222\336\344\336\354\361\354\355\361"
+ "\355\360\361\357\362\362\362\203\361\361\362\12\361\362\362\356\361\357\357"
+ "\362\356\355\362\355\355\363\355LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345"
+ "\376\340\13\306\360\302\225\333\222d\305b2\2561\0M\0DDD\324\324\324\354\361"
+ "\353\355\361\355\356\360\357\361\361\362\202\361\361\361\30\362\362\363\362"
+ "\363\362\357\362\357\357\363\357\356\363\355\355\363\355\16\16\16\2\2\2\0"
+ "\217\0B\265A\243\341\237\334\372\327\341\374\334\310\361\304\243\341\237"
+ "y\316vK\271I\32\232\31\14\14\14\325\325\325\354\361\353\354\360\354\356\360"
+ "\357\361\361\361\202\360\360\361\27\363\363\363\362\363\363\360\363\360\357"
+ "\363\357\356\363\355\355\363\355\35\35\35\0\0\0\0\230\0R\274P\225\333\222"
+ "\273\353\267\303\357\277\265\351\261\232\335\227y\316vR\274P(\252'\0\0\0"
+ "\344\344\344\353\360\353\354\360\353\355\357\356\202\360\360\361\31\360\360"
+ "\360\364\364\364\363\364\363\360\363\360\357\363\357\356\363\355\355\363"
+ "\355---\0\0\0\0\230\0I\270G}\317z\232\335\226\243\341\237\233\335\230\210"
+ "\325\205n\311kM\272K(\252'\0\0\0\364\364\364\353\360\352\353\357\353\355"
+ "\357\356\360\360\360\202\357\357\360\27\364\364\364\363\364\363\360\363\360"
+ "\357\363\357\356\363\355\355\362\355<<<\4\4\4\0\217\0""5\2604`\302^y\316"
+ "v\202\322\200\177\320|q\312o\\\301Z@\264?\36\234\35\16\16\16\376\376\376"
+ "\352\357\352\353\357\354\354\356\355\202\357\357\360\31\356\356\357\364\364"
+ "\364\363\364\363\360\363\360\357\362\357\355\362\355\355\362\354\177\177"
+ "\177\"\"\"\0M\0\34\244\33A\265?W\277Ua\303_`\303^V\276TE\267D.\254-\11Q\11"
+ "___\372\372\372\352\357\351\352\356\353\355\356\355\357\357\360\202\356\356"
+ "\357\27\364\364\364\363\364\363\357\362\360\357\362\357\355\362\355\355\362"
+ "\354\311\316\311]]]\7\7\7\0}\0!\247\40""6\2604@\264?A\265@:\2629,\253+\24"
+ "\205\24\17\17\17\336\336\336\355\362\355\351\356\352\353\356\354\354\356"
+ "\355\202\356\356\357\31\355\355\356\363\363\364\362\363\362\360\362\360\357"
+ "\362\357\356\362\356\355\362\354\354\361\354\256\256\256ooo\11\11\11\0M\0"
+ "\23\227\22\36\245\36!\247\40\32\232\31\11P\10\17\17\17\316\316\316\367\367"
+ "\370\351\356\351\351\355\352\352\355\353\355\356\356\355\355\357\202\355"
+ "\355\356\202\363\363\363\4\362\363\361\357\362\357\356\361\357\354\361\355"
+ "\202\354\361\353\4\276\276\277\222\222\222DDD\14\14\14\202\0\0\0\4\16\16"
+ "\16___\336\336\336\367\367\370\202\350\355\351\2\352\355\353\352\354\354"
+ "\202\355\355\356\2\354\354\356\354\354\355\202\363\363\363\2\361\362\362"
+ "\357\361\360\202\356\361\356\1\354\361\354\202\353\360\353\10\335\342\334"
+ "\323\323\323\325\325\325\344\344\344\364\364\364\376\376\376\371\371\372"
+ "\355\362\355\202\350\355\351\3\351\355\352\351\354\352\354\355\355\202\354"
+ "\354\356\7\354\354\355\353\353\355\363\363\363\362\362\363\362\362\362\361"
+ "\362\361\357\361\356\202\355\360\356\2\354\360\354\353\360\353\202\352\357"
+ "\352\1\352\357\351\203\351\356\351\202\350\355\351\6\351\355\352\351\354"
+ "\353\351\354\352\353\355\354\354\354\356\354\354\355\202\353\353\355\1\353"
+ "\353\354\202\362\362\362\202\361\361\362\3\360\361\360\357\361\357\355\357"
+ "\355\202\354\357\355\203\352\356\353\203\351\355\352\1\350\354\352\202\351"
+ "\354\352\2\351\353\353\353\354\354\202\353\353\355\1\353\353\354\202\352"
+ "\352\354\1\351\351\353\202\201\201\206\1\201\201\207\203\202\202\207\7\201"
+ "\202\207\201\203\206\202\204\206\202\203\205\201\203\205\201\203\206\202"
+ "\204\206\202\202\204\207\3\204\205\207\204\206\210\206\207\212\202\207\207"
+ "\213\202\210\210\213\202\210\210\214\2\211\211\215\212\212\215\232\232\320"
+ "\25\232\230\317\25\232\227\317\24\232\242\323-\232\235\317*\232\230\311&"
+ "\232\222\302$\232\214\273!\232\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid2_grey.h b/src/image_data/gvo_banner_vid2_grey.h
new file mode 100644
index 0000000..6e0b8be
--- /dev/null
+++ b/src/image_data/gvo_banner_vid2_grey.h
@@ -0,0 +1,136 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid2_grey_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370"
+ "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371"
+ "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374"
+ "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350"
+ "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351"
+ "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354"
+ "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350"
+ "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347"
+ "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337"
+ "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17"
+ "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347"
+ "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356"
+ "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240"
+ "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0"
+ "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0"
+ "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0"
+ "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353"
+ "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202"
+ "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342"
+ "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0"
+ "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376"
+ "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355"
+ "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366"
+ "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0"
+ "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20"
+ "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352"
+ "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350"
+ "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353"
+ "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357"
+ "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374"
+ "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376"
+ "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357"
+ "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376"
+ "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352"
+ "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355"
+ "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360"
+ "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>"
+ "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360"
+ "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361"
+ "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO"
+ "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355"
+ "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361"
+ "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355"
+ "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357"
+ "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360"
+ "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350"
+ "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360"
+ "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376"
+ "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372"
+ "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352"
+ "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315"
+ "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0"
+ "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203"
+ "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\360\360"
+ "\363\356\356\360```AAA\376\376\376\360\360\361\0\0\0\376\376\376\301\301"
+ "\301\0\0\0\376\376\376\362\362\363\0\0\0\376\376\376\205\364\364\364\202"
+ "\353\353\356\202\354\354\357\21\355\355\357\315\315\320222\21\21\21\0\0\0"
+ """000\327\327\330\372\372\373\360\360\362QQQ\0\0\0AAA\0\0\0\376\376\376\363"
+ "\363\364!!!\0\0\0\205\364\364\364\202\354\354\357\1\355\355\357\202\355\355"
+ "\360\15\356\356\360\360\360\362\373\373\373\375\375\375\376\376\376\373\373"
+ "\374\363\363\364\361\361\362\362\362\363\372\372\372\376\376\376\373\373"
+ "\373\376\376\376\202\364\364\364\2\375\375\375\376\376\376\202\364\364\364"
+ "\5\363\363\364\363\363\363\354\354\357\355\355\357\355\355\360\202\356\356"
+ "\360\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362"
+ "\362\362\362\363\202\363\363\363\1\363\363\364\207\364\364\364\203\363\363"
+ "\363\1\355\355\360\202\356\356\360\202\357\357\361\202\360\360\361\1\360"
+ "\360\362\202\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364"
+ "\364\364\1\363\363\364\204\363\363\363\202\356\356\360\202\357\357\361\2"
+ "\360\360\361\360\360\362\202\361\361\362\11\362\362\363\265\265\266HHI\16"
+ "\16\16\35\35\35---<<<||}\315\315\315\202\364\364\364\1\363\363\364\205\363"
+ "\363\363\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361"
+ "\361\362\202\362\362\363\4eeg\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]"
+ "]]\243\243\245\205\363\363\363\202\362\362\363\3\362\362\362\360\360\361"
+ "\360\360\362\202\361\361\362\1\362\362\362\202\362\362\363\5VVX\0\0\0\11"
+ "\11\11;;;ooo\202ttt\5ooo;;;\7\7\7ooo\274\274\275\202\363\363\363\202\362"
+ "\362\363\203\362\362\362\1\360\360\362\202\361\361\362\202\362\362\363\20"
+ "\363\363\363\266\266\267\0\0\0\11\11\11aaasss\244\260\241\272\313\267\257"
+ "\275\254\234\246\232\207\214\206aaa\11\11\11\222\222\222\344\344\344\362"
+ "\362\363\203\362\362\362\203\361\361\362\202\362\362\363\202\363\363\363"
+ "\6\364\364\364HHI\5\5\5;;;sss\253\271\250\202\327\357\322\7\311\337\305\264"
+ "\304\261\236\251\234\210\215\207;;;DDD\322\322\323\202\362\362\362\202\361"
+ "\361\362\202\361\361\361\1\362\362\363\202\363\363\363\203\364\364\364\17"
+ "\16\16\16\2\2\2ooo\217\226\215\272\313\267\323\352\316\325\355\320\312\340"
+ "\306\272\313\267\247\264\244\223\233\221{~z\14\14\14\325\325\325\362\362"
+ "\362\202\361\361\362\1\361\361\361\202\360\360\361\2\363\363\363\363\363"
+ "\364\204\364\364\364\20\35\35\35\0\0\0ttt\226\237\224\264\304\261\304\331"
+ "\300\310\335\303\302\325\276\267\307\263\247\264\245\226\237\224\205\211"
+ "\204\0\0\0\344\344\344\361\361\362\361\361\361\203\360\360\361\1\360\360"
+ "\360\206\364\364\364\17---\0\0\0ttt\222\232\220\251\267\246\266\306\263\272"
+ "\313\267\267\307\264\256\274\253\242\256\240\223\234\222\205\211\204\0\0"
+ "\0\364\364\364\361\361\361\202\360\360\361\1\360\360\360\202\357\357\360"
+ "\205\364\364\364\17\363\363\364<<<\4\4\4ooo\211\217\210\234\246\232\247\264"
+ "\245\254\272\251\252\270\247\244\260\241\232\244\230\216\225\214|\177|\16"
+ "\16\16\376\376\376\202\360\360\361\203\357\357\360\1\356\356\357\203\364"
+ "\364\364\1\363\363\364\202\363\363\363\17}}~\"\"\";;;\177\201~\216\225\215"
+ "\230\242\226\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205"
+ "?@?___\372\372\372\360\360\360\203\357\357\360\202\356\356\357\202\364\364"
+ "\364\1\363\363\364\203\363\363\363\16\315\315\315]]]\7\7\7aaa\200\203\200"
+ "\211\217\210\216\225\214\216\225\215\213\221\212\205\211\204jki\17\17\17"
+ "\336\336\336\363\363\364\202\357\357\360\203\356\356\357\2\355\355\356\363"
+ "\363\364\205\363\363\363\16\362\362\363\254\254\255ooo\11\11\11;;;wyv\201"
+ "\204\200\202\205\201z}z>?>\17\17\17\316\316\316\371\371\371\357\357\360\203"
+ "\356\356\357\1\355\355\357\202\355\355\356\204\363\363\363\202\362\362\363"
+ "\202\362\362\362\4\275\275\276\222\222\222DDD\14\14\14\202\0\0\0\5\16\16"
+ "\16___\336\336\336\371\371\371\356\356\360\202\356\356\357\1\355\355\357"
+ "\202\355\355\356\2\354\354\356\354\354\355\202\363\363\363\202\362\362\363"
+ "\203\362\362\362\202\361\361\362\10\342\342\342\323\323\324\325\325\325\344"
+ "\344\344\364\364\364\376\376\376\373\373\373\363\363\364\203\356\356\357"
+ "\202\355\355\356\202\354\354\356\4\354\354\355\353\353\355\363\363\363\362"
+ "\362\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361"
+ "\1\360\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355"
+ "\356\2\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\362\362"
+ "\362\202\361\361\362\202\361\361\361\203\360\360\361\203\357\357\360\203"
+ "\356\356\357\1\355\355\357\202\355\355\356\2\354\354\356\354\354\355\202"
+ "\353\353\355\1\353\353\354\202\352\352\354\1\351\351\353\202\201\201\206"
+ "\1\201\201\207\203\202\202\207\2\202\202\210\203\203\210\203\204\204\210"
+ "\2\204\204\211\205\205\211\202\205\205\212\202\206\206\212\203\207\207\213"
+ "\202\210\210\213\202\210\210\214\2\211\211\215\212\212\215\232\232\320\25"
+ "\232\230\317\25\232\227\317\24\232\242\323-\232\235\317*\232\230\311&\232"
+ "\222\302$\232\214\273!\232\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid2_red.h b/src/image_data/gvo_banner_vid2_red.h
new file mode 100644
index 0000000..78929c3
--- /dev/null
+++ b/src/image_data/gvo_banner_vid2_red.h
@@ -0,0 +1,144 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid2_red_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370"
+ "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371"
+ "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374"
+ "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350"
+ "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351"
+ "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354"
+ "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350"
+ "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347"
+ "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337"
+ "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17"
+ "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347"
+ "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356"
+ "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240"
+ "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0"
+ "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0"
+ "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0"
+ "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353"
+ "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202"
+ "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342"
+ "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0"
+ "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376"
+ "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355"
+ "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366"
+ "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0"
+ "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20"
+ "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352"
+ "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350"
+ "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353"
+ "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357"
+ "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374"
+ "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376"
+ "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357"
+ "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376"
+ "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352"
+ "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355"
+ "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360"
+ "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>"
+ "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360"
+ "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361"
+ "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO"
+ "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355"
+ "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361"
+ "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355"
+ "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357"
+ "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360"
+ "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350"
+ "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360"
+ "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376"
+ "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372"
+ "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352"
+ "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315"
+ "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0"
+ "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203"
+ "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\360\360"
+ "\363\356\356\360`__A@@\376\375\375\360\357\360\0\0\0\376\375\375\301\300"
+ "\300\0\0\0\376\376\376\362\362\363\0\0\0\376\376\376\205\364\364\364\202"
+ "\353\353\356\202\354\354\357\21\355\355\357\315\314\317211\21\17\17\0\0\0"
+ """0..\327\325\326\372\370\371\360\356\360QOO\0\0\0A??\0\0\0\376\375\375\363"
+ "\362\363!!!\0\0\0\205\364\364\364\202\354\354\357\24\355\355\357\355\355"
+ "\360\355\354\357\356\354\356\360\356\360\373\371\371\375\373\373\376\374"
+ "\374\373\371\372\363\361\362\361\357\360\362\360\361\372\370\370\376\374"
+ "\374\373\371\371\376\374\374\364\362\362\364\363\363\375\374\374\376\376"
+ "\376\202\364\364\364\7\363\363\364\363\363\363\354\354\357\355\355\357\355"
+ "\355\360\356\355\357\356\354\356\202\357\355\357\2\360\356\357\360\356\360"
+ "\202\362\356\357\2\363\357\357\363\357\360\202\364\360\360\2\364\360\361"
+ "\364\361\361\204\364\362\362\202\364\364\364\203\363\363\363\3\355\355\360"
+ "\356\356\360\356\355\357\202\357\355\357\202\360\356\357\1\361\356\357\202"
+ "\362\356\357\202\363\357\360\2\364\360\360\364\360\361\204\365\361\361\203"
+ "\364\362\362\1\363\362\363\204\363\363\363\202\356\356\360\4\357\356\360"
+ "\357\355\357\360\356\357\360\356\360\202\362\356\357\11\363\357\360\272\266"
+ "\267GGH\16\16\16\35\35\35---<<<yy{\320\315\315\202\365\361\361\1\363\360"
+ "\361\202\363\361\361\203\363\363\363\1\362\362\363\202\357\357\361\4\360"
+ "\356\357\360\356\360\361\357\360\362\356\357\202\363\357\360\4cce\0\0\0\5"
+ "\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\237\237\240\202\364\360\360\202\363"
+ "\361\361\1\363\362\362\202\362\362\363\3\362\362\362\360\360\361\360\360"
+ "\362\202\361\357\360\1\362\360\360\202\363\357\360\5UUV\0\0\0\21\1\1\200"
+ "\0\0\357\0\0\202\376\0\0\5\357\0\0\200\0\0\7\7\7ooo\265\265\267\202\364\360"
+ "\360\2\362\360\361\362\361\362\203\362\362\362\30\360\360\362\361\360\361"
+ "\361\357\360\362\360\361\363\357\360\364\360\360\273\267\270\0\0\0\21\1\1"
+ "\317\0\0\376\0\0\376\230\230\376\315\315\376\264\264\376\203\203\376GG\317"
+ "\0\0\11\11\11\222\222\222\346\343\343\363\357\360\362\360\360\362\361\361"
+ "\362\362\362\203\361\361\362\12\362\361\362\362\360\361\363\361\361\364\360"
+ "\360\365\361\361FFG\5\5\5\200\0\0\376\0\0\376\252\252\202\376\376\376\13"
+ "\376\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314\314\316\363\357"
+ "\357\362\360\360\361\360\361\361\361\362\202\361\361\361\4\362\362\363\363"
+ "\362\362\363\361\361\364\362\362\202\365\361\361\22\16\16\16\2\2\2\357\0"
+ "\0\376^^\376\314\314\376\367\367\376\372\372\376\353\353\376\314\314\376"
+ "\240\240\376jj\357''\14\14\14\325\325\325\363\357\357\361\357\360\361\360"
+ "\361\361\361\361\202\360\360\361\2\363\363\363\363\362\363\202\364\362\362"
+ "\202\365\361\361\21\35\35\35\0\0\0\376\0\0\376rr\376\300\300\376\342\342"
+ "\376\350\350\376\335\335\376\305\305\376\240\240\376rr\376::\0\0\0\344\344"
+ "\344\362\356\357\361\357\357\360\357\360\202\360\360\361\3\360\360\360\364"
+ "\364\364\364\363\363\202\364\362\362\202\365\361\361\22---\0\0\0\376\0\0"
+ "\376gg\376\245\245\376\304\304\376\314\314\376\305\305\376\262\262\376\223"
+ "\223\376ll\376::\0\0\0\364\364\364\362\356\356\360\356\357\360\357\360\360"
+ "\360\360\202\357\357\360\2\364\364\364\364\363\363\202\364\362\362\23\365"
+ "\361\361\364\360\361<<<\4\4\4\357\0\0\376LL\376\203\203\376\240\240\376\253"
+ "\253\376\247\247\376\230\230\376\177\177\376[[\357,,\16\16\16\376\376\376"
+ "\361\355\356\360\356\357\357\356\357\202\357\357\360\5\356\356\357\364\364"
+ "\364\364\363\363\364\362\362\363\361\362\202\364\360\360\22yyz\"\"\"\200"
+ "\0\0\376))\376\\\\\376yy\376\205\205\376\203\203\376xx\376bb\376CC\200\16"
+ "\16___\361\361\363\361\355\355\357\355\356\357\356\357\357\357\360\202\356"
+ "\356\357\202\364\364\364\1\363\361\362\202\363\361\361\22\364\360\360\320"
+ "\315\315]]]\7\7\7\317\0\0\37600\376MM\376[[\376\\\\\376SS\376@@\317\35\35"
+ "\17\17\17\336\336\336\364\360\361\360\355\356\357\355\356\356\355\356\202"
+ "\356\356\357\4\355\355\356\363\363\364\363\363\363\363\362\362\202\363\361"
+ "\361\23\364\360\360\363\357\360\243\243\245ooo\11\11\11\200\0\0\357\33\33"
+ "\376--\37600\357''\200\15\15\17\17\17\316\316\316\353\353\356\360\354\355"
+ "\357\354\355\356\354\355\356\355\356\355\355\357\202\355\355\356\202\363"
+ "\363\363\2\363\362\362\363\361\361\202\362\360\361\202\363\357\357\4\263"
+ "\263\265\222\222\222DDD\14\14\14\202\0\0\0\4\16\16\16___\336\336\336\353"
+ "\353\356\202\357\354\355\2\356\354\355\355\354\356\202\355\355\356\2\354"
+ "\354\356\354\354\355\202\363\363\363\2\362\362\363\362\361\362\202\362\360"
+ "\360\1\363\360\360\202\362\356\357\15\344\341\341\313\313\315\325\325\325"
+ "\344\344\344\364\364\364\376\376\376\361\361\363\364\360\361\357\354\354"
+ "\357\354\355\356\354\355\355\353\354\355\354\355\202\354\354\356\7\354\354"
+ "\355\353\353\355\363\363\363\362\362\363\362\362\362\362\361\361\362\360"
+ "\360\202\361\357\360\2\361\357\357\362\357\357\202\361\355\356\1\361\355"
+ "\355\203\360\354\355\1\357\354\354\202\357\354\355\5\355\353\355\355\353"
+ "\354\355\354\355\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202"
+ "\362\362\362\202\361\361\362\2\361\361\361\361\360\360\203\360\356\357\203"
+ "\357\355\356\203\357\354\355\1\355\353\355\202\355\353\354\2\354\353\355"
+ "\354\353\354\202\353\353\355\1\353\353\354\202\352\352\354\1\351\351\353"
+ "\202\201\201\206\1\201\201\207\203\202\202\207\2\202\202\210\203\202\207"
+ "\203\204\203\207\2\204\203\210\205\204\210\202\205\204\211\202\206\205\211"
+ "\1\207\206\212\202\207\207\213\202\210\210\213\202\210\210\214\2\211\211"
+ "\215\212\212\215\232\232\320\25\232\230\317\25\232\227\317\24\232\242\323"
+ "-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264\36",
+};
+
diff --git a/src/image_data/gvo_banner_vid2_yellow.h b/src/image_data/gvo_banner_vid2_yellow.h
new file mode 100644
index 0000000..8a99d29
--- /dev/null
+++ b/src/image_data/gvo_banner_vid2_yellow.h
@@ -0,0 +1,144 @@
+/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */
+
+#include "image.h"
+
+static const nv_image_t gvo_banner_vid2_yellow_image = {
+ 26, 60, 3,
+ "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321"
+ "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370"
+ "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371"
+ "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374"
+ "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350"
+ "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351"
+ "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354"
+ "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347"
+ "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350"
+ "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340"
+ "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344"
+ "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347"
+ "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337"
+ "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17"
+ "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347"
+ "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356"
+ "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240"
+ "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0"
+ "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0"
+ "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0"
+ "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353"
+ "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202"
+ "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342"
+ "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0"
+ "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376"
+ "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355"
+ "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366"
+ "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0"
+ "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20"
+ "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352"
+ "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350"
+ "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353"
+ "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357"
+ "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374"
+ "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376"
+ "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357"
+ "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376"
+ "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352"
+ "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355"
+ "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360"
+ "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>"
+ "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360"
+ "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361"
+ "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO"
+ "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355"
+ "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361"
+ "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355"
+ "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357"
+ "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360"
+ "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350"
+ "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360"
+ "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376"
+ "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372"
+ "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352"
+ "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315"
+ "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0"
+ "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203"
+ "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\360\360"
+ "\363\356\356\360```AAA\376\376\376\360\360\361\0\0\0\376\376\376\301\301"
+ "\301\0\0\0\376\376\376\362\362\363\0\0\0\376\376\376\205\364\364\364\202"
+ "\353\353\356\202\354\354\357\21\355\355\357\315\315\320222\21\21\21\0\0\0"
+ """000\327\327\330\372\372\373\360\360\362QQQ\0\0\0AAA\0\0\0\376\376\376\363"
+ "\363\364!!!\0\0\0\205\364\364\364\202\354\354\357\1\355\355\357\202\355\355"
+ "\360\15\356\356\360\360\360\362\373\373\373\375\375\374\376\376\374\372\373"
+ "\371\362\363\361\360\361\357\361\362\360\371\372\367\375\376\374\373\373"
+ "\372\376\376\376\202\364\364\364\2\375\375\375\376\376\376\202\364\364\364"
+ "\5\363\363\364\363\363\363\354\354\357\355\355\357\355\355\360\202\356\356"
+ "\360\10\357\357\361\357\357\360\357\360\356\357\357\354\357\357\351\356\357"
+ "\350\357\360\350\357\360\351\202\360\361\351\4\360\361\353\362\363\355\363"
+ "\363\361\364\364\363\204\364\364\364\203\363\363\363\1\355\355\360\202\356"
+ "\356\360\202\357\357\361\3\360\360\360\357\357\354\356\356\351\202\356\357"
+ "\347\202\357\360\350\2\360\361\350\360\361\351\203\361\362\351\5\361\362"
+ "\352\362\363\355\363\364\362\364\364\364\363\363\364\204\363\363\363\202"
+ "\356\356\360\202\357\357\361\15\360\360\360\357\357\355\356\357\350\356\357"
+ "\347\357\360\350\262\263\253JJK\16\16\16\35\35\35---<<<}}~\312\313\302\202"
+ "\361\362\351\2\361\362\355\363\363\362\204\363\363\363\1\362\362\363\202"
+ "\357\357\361\4\360\360\361\360\360\362\360\361\357\357\357\351\202\357\360"
+ "\350\4hhi\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\244\244\244\202\360"
+ "\361\350\1\362\362\357\202\363\363\363\202\362\362\363\6\362\362\362\360"
+ "\360\361\360\360\362\361\361\362\361\361\361\361\361\354\202\357\360\350"
+ "\5YYZ\0\0\0\16\16\1ee\0\274\274\0\202\310\310\0\11\274\274\0ee\0\7\7\7oo"
+ "o\274\274\274\360\361\350\361\362\353\362\362\362\362\362\363\203\362\362"
+ "\362\1\360\360\362\202\361\361\362\23\362\362\361\360\360\352\360\361\350"
+ "\263\264\254\0\0\0\16\16\1\243\243\0\310\310\0\326\343o\335\356\237\332\351"
+ "\207\324\337^\316\3230\243\243\0\11\11\11\222\222\222\341\342\331\357\360"
+ "\350\361\361\356\202\362\362\362\203\361\361\362\202\362\362\363\10\362\363"
+ "\360\360\361\351\361\362\351JJJ\5\5\5ee\0\310\310\0\330\346\177\202\345\376"
+ "\340\11\341\367\302\333\353\222\325\340b\316\3241ee\0DDD\321\321\321\357"
+ "\360\347\361\361\355\202\361\361\362\202\361\361\361\1\362\362\363\202\363"
+ "\363\363\25\363\364\361\361\362\352\361\362\351\16\16\16\2\2\2\274\274\0"
+ "\320\330A\335\356\237\344\374\327\344\375\334\341\367\304\335\356\237\327"
+ "\344v\321\332I\300\303\31\14\14\14\325\325\325\357\360\347\360\360\354\361"
+ "\361\362\361\361\361\202\360\360\361\26\363\363\363\363\363\364\364\364\364"
+ "\363\364\361\361\362\352\361\362\351\35\35\35\0\0\0\310\310\0\322\333P\333"
+ "\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344v\322\333"
+ "P\315\321'\0\0\0\344\344\344\356\357\347\360\360\353\203\360\360\361\1\360"
+ "\360\360\203\364\364\364\25\363\364\361\361\362\352\361\362\351---\0\0\0"
+ "\310\310\0\321\331G\330\345z\333\354\226\335\356\237\334\355\230\331\350"
+ "\205\326\342k\322\332K\315\321'\0\0\0\364\364\364\356\357\346\357\357\353"
+ "\360\360\361\360\360\360\202\357\357\360\203\364\364\364\23\363\364\361\361"
+ "\362\352\360\361\351<<<\4\4\4\274\274\0\317\3244\324\336^\327\344v\330\347"
+ "\200\330\346|\326\343o\324\335Z\320\327?\300\303\35\16\16\16\376\376\376"
+ "\355\356\346\357\357\353\203\357\357\360\1\356\356\357\203\364\364\364\23"
+ "\362\363\362\360\361\352\360\361\350}}}\"\"\"ee\0\314\317\33\320\327?\323"
+ "\335U\324\337_\324\337^\323\334T\321\330D\316\323-fg\11___\366\366\367\355"
+ "\356\345\356\356\354\202\357\357\360\202\356\356\357\202\364\364\364\24\363"
+ "\363\364\363\363\362\361\362\354\360\361\350\312\313\302]]]\7\7\7\243\243"
+ "\0\314\320\40\317\3254\320\327?\320\327@\317\3269\316\322+\245\250\24\17"
+ "\17\17\336\336\336\360\361\351\354\355\346\356\357\356\203\356\356\357\2"
+ "\355\355\356\363\363\364\203\363\363\363\21\362\362\360\360\361\351\357\360"
+ "\350\252\252\253ooo\11\11\11ee\0\277\301\22\314\317\36\314\320\40\277\303"
+ "\31fg\10\17\17\17\316\316\316\363\363\364\354\355\345\355\355\351\202\356"
+ "\356\357\1\355\355\357\202\355\355\356\204\363\363\363\2\362\362\362\360"
+ "\361\354\202\357\360\347\4\272\272\273\222\222\222DDD\14\14\14\202\0\0\0"
+ "\10\16\16\16___\336\336\336\362\362\364\353\354\345\354\354\346\355\356\355"
+ "\355\355\357\202\355\355\356\2\354\354\356\354\354\355\202\363\363\363\202"
+ "\362\362\363\3\362\362\362\361\362\360\360\361\353\202\356\357\347\13\337"
+ "\340\327\320\320\321\325\325\325\344\344\344\364\364\364\376\376\376\366"
+ "\366\367\360\361\351\353\354\344\354\354\346\355\355\353\202\355\355\356"
+ "\202\354\354\356\4\354\354\355\353\353\355\363\363\363\362\362\363\203\362"
+ "\362\362\4\361\361\362\361\361\361\360\360\355\357\360\351\202\355\356\346"
+ "\1\355\356\345\203\354\355\345\4\353\354\344\353\354\345\355\355\351\354"
+ "\355\355\202\355\355\356\2\354\354\356\354\354\355\202\353\353\355\1\353"
+ "\353\354\202\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361"
+ "\4\360\360\360\356\356\354\356\356\353\356\356\352\203\355\355\351\5\354"
+ "\354\353\354\355\354\355\355\356\354\354\356\354\354\355\202\353\353\355"
+ "\1\353\353\354\202\352\352\354\1\351\351\353\202\201\201\206\1\201\201\207"
+ "\203\202\202\207\2\202\202\210\203\203\210\203\204\204\210\2\204\204\211"
+ "\205\205\211\202\205\205\212\202\206\206\212\203\207\207\213\202\210\210"
+ "\213\202\210\210\214\2\211\211\215\212\212\215\232\232\320\25\232\230\317"
+ "\25\232\227\317\24\232\242\323-\232\235\317*\232\230\311&\232\222\302$\232"
+ "\214\273!\232\206\264\36",
+};
+
diff --git a/src/libXNVCtrl/NVCtrl.c b/src/libXNVCtrl/NVCtrl.c
index 69ad617..56446d1 100644
--- a/src/libXNVCtrl/NVCtrl.c
+++ b/src/libXNVCtrl/NVCtrl.c
@@ -1,3 +1,13 @@
+/*
+ * Make sure that XTHREADS is defined, so that the
+ * LockDisplay/UnlockDisplay macros are expanded properly and the
+ * libXNVCtrl library properly protects the Display connection.
+ */
+
+#if !defined(XTHREADS)
+#define XTHREADS
+#endif /* XTHREADS */
+
#define NEED_EVENTS
#define NEED_REPLIES
#include <X11/Xlibint.h>
diff --git a/src/libXNVCtrl/NVCtrl.h b/src/libXNVCtrl/NVCtrl.h
index eb2dce4..9470ec9 100644
--- a/src/libXNVCtrl/NVCtrl.h
+++ b/src/libXNVCtrl/NVCtrl.h
@@ -147,6 +147,7 @@
* NV_CTRL_FSAA_MODE_4x_9t "4x Gaussian Multisampling"
* NV_CTRL_FSAA_MODE_8x "2x Bilinear Multisampling by 4x Supersampling"
* NV_CTRL_FSAA_MODE_16x "4x Bilinear Multisampling by 4x Supersampling"
+ * NV_CTRL_FSAA_MODE_8xS "4x Multisampling by 2x Supersampling"
*
* This setting is only applied to OpenGL clients that are started
* after this setting is applied.
@@ -162,6 +163,8 @@
#define NV_CTRL_FSAA_MODE_4x_9t 6
#define NV_CTRL_FSAA_MODE_8x 7
#define NV_CTRL_FSAA_MODE_16x 8
+#define NV_CTRL_FSAA_MODE_8xS 9
+#define NV_CTRL_FSAA_MODE_MAX NV_CTRL_FSAA_MODE_8xS
/*
@@ -650,7 +653,6 @@
* if this screen does not support PBUFFER_SCANOUT, then all other
* PBUFFER_SCANOUT attributes are unavailable.
*/
-
#define NV_CTRL_PBUFFER_SCANOUT_SUPPORTED 65 /* R-- */
#define NV_CTRL_PBUFFER_SCANOUT_FALSE 0
#define NV_CTRL_PBUFFER_SCANOUT_TRUE 1
@@ -661,7 +663,342 @@
*/
#define NV_CTRL_PBUFFER_SCANOUT_XID 66 /* RW- */
-#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_PBUFFER_SCANOUT_XID
+/**************************************************************************/
+/*
+ * The NV_CTRL_GVO_* integer attributes are used to configure GVO
+ * (Graphics to Video Out). This functionality is available, for
+ * example, on the Quadro FX 4000 SDI graphics board.
+ *
+ * Here is a normal usage pattern for the GVO attributes:
+ *
+ * - query NV_CTRL_GVO_SUPPORTED to determine if the X screen supports GV0.
+ *
+ * - specify NV_CTRL_GVO_SYNC_MODE (one of FREE_RUNNING, GENLOCK, or
+ * FRAMELOCK)
+ *
+ * - Use NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED and
+ * NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED to detect what input syncs are
+ * present.
+ *
+ *         (If no analog sync is detected but it is known
+ *           that a thought to be valid bi-level or tri-level
+ *         sync is connected set
+ *         NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE
+ *         appropriately and retest with
+ *         NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED).
+ *
+ * - specify NV_CTRL_GVO_SYNC_SOURCE, if appropriate
+ *
+ * - if syncing to input sync, query the NV_CTRL_GVO_INPUT_VIDEO_FORMAT
+ *
+ * - query the valid NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT values; the valid
+ * values will be a function of what is specified for
+ * NV_CTRL_GVO_SYNC_MODE and what INPUT_VIDEO_FORMAT mode is
+ * detected.
+ *
+ * - specify the NV_CTRL_GVO_DATA_FORMAT
+ *
+ * - if using the GLX_NV_video_out extension to display one or more
+ * pbuffers, call glXGetVideoDeviceNV() to lock the GVO output for use
+ * by the GLX client; then bind the pbuffer(s) to the GVO output with
+ * glXBindVideoImageNV() and send pbuffers to the GVO output with
+ * glXSendPbufferToVideoNV(); see the GLX_NV_video_out spec for more
+ * details.
+ *
+ * - if, rather than using the GLX_NV_video_out extension to display
+ * GLX pbuffers on the GVO output, you wish display the X screen on
+ * the GVO output, set NV_CTRL_GVO_DISPLAY_X_SCREEN to
+ * NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE.
+ *
+ * Note that setting most GVO attributes only causes the value to be
+ * cached in the X server. The values will be flushed to the hardware
+ * either when NV_CTRL_GVO_DISPLAY_X_SCREEN is enabled, or when a GLX
+ * pbuffer is bound to the GVO output (with glXBindVideoImageNV()).
+ *
+ * Note that GLX_NV_video_out and NV_CTRL_GVO_DISPLAY_X_SCREEN are
+ * mutually exclusive. If NV_CTRL_GVO_DISPLAY_X_SCREEN is enabled,
+ * then glXGetVideoDeviceNV will fail. Similarly, if a GLX client has
+ * locked the GVO output (via glXGetVideoDeviceNV), then
+ * NV_CTRL_GVO_DISPLAY_X_SCREEN will fail. The NV_CTRL_GVO_LOCKED
+ * event will be sent when a GLX client locks the GVO output.
+ *
+ */
+
+
+/*
+ * NV_CTRL_GVO_SUPPORTED - returns whether this X screen supports GVO;
+ * if this screen does not support GVO output, then all other GVO
+ * attributes are unavailable.
+ */
+
+#define NV_CTRL_GVO_SUPPORTED 67 /* R-- */
+#define NV_CTRL_GVO_SUPPORTED_FALSE 0
+#define NV_CTRL_GVO_SUPPORTED_TRUE 1
+
+
+/*
+ * NV_CTRL_GVO_SYNC_MODE - selects the GVO sync mode; possible values
+ * are:
+ *
+ * FREE_RUNNING - GVO does not sync to any external signal
+ *
+ * GENLOCK - the GVO output is genlocked to an incoming sync signal;
+ * genlocking locks at hsync. This requires that the output video
+ * format exactly match the incoming sync video format.
+ *
+ * FRAMELOCK - the GVO output is framelocked to an incoming sync
+ * signal; framelocking locks at vsync. This requires that the output
+ * video format have the same refresh rate as the incoming sync video
+ * format.
+ */
+
+#define NV_CTRL_GVO_SYNC_MODE 68 /* RW- */
+#define NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING 0
+#define NV_CTRL_GVO_SYNC_MODE_GENLOCK 1
+#define NV_CTRL_GVO_SYNC_MODE_FRAMELOCK 2
+
+
+/*
+ * NV_CTRL_GVO_SYNC_SOURCE - if NV_CTRL_GVO_SYNC_MODE is set to either
+ * GENLOCK or FRAMELOCK, this controls which sync source is used as
+ * the incoming sync signal (either Composite or SDI). If
+ * NV_CTRL_GVO_SYNC_MODE is FREE_RUNNING, this attribute has no
+ * effect.
+ */
+
+#define NV_CTRL_GVO_SYNC_SOURCE 69 /* RW- */
+#define NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE 0
+#define NV_CTRL_GVO_SYNC_SOURCE_SDI 1
+
+
+/*
+ * NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT - specifies the output video
+ * format. Note that the valid video formats will vary depending on
+ * the NV_CTRL_GVO_SYNC_MODE and the incoming sync video format. See
+ * the definition of NV_CTRL_GVO_SYNC_MODE.
+ */
+
+#define NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT 70 /* RW- */
+
+#define NV_CTRL_GVO_VIDEO_FORMAT_NONE 0
+#define NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC 1
+#define NV_CTRL_GVO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL 2
+#define NV_CTRL_GVO_VIDEO_FORMAT_720P_59_94_SMPTE296 3
+#define NV_CTRL_GVO_VIDEO_FORMAT_720P_60_00_SMPTE296 4
+#define NV_CTRL_GVO_VIDEO_FORMAT_1035I_59_94_SMPTE260 5
+#define NV_CTRL_GVO_VIDEO_FORMAT_1035I_60_00_SMPTE260 6
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE295 7
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE274 8
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274 9
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_60_00_SMPTE274 10
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_23_976_SMPTE274 11
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_24_00_SMPTE274 12
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_25_00_SMPTE274 13
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_29_97_SMPTE274 14
+#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_30_00_SMPTE274 15
+
+
+/*
+ * NV_CTRL_GVO_INPUT_VIDEO_FORMAT - indicates the input video format
+ * detected; the possible values are the NV_CTRL_GVO_VIDEO_FORMAT
+ * constants.
+ */
+
+#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT 71 /* R-- */
+
+
+/*
+ * NV_CTRL_GVO_DATA_FORMAT - This controls how the data in the source
+ * (either the X screen or the GLX pbuffer) is interpretted and
+ * displayed.
+ */
+
+#define NV_CTRL_GVO_DATA_FORMAT 72 /* RW- */
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444 0
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4444 1
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4444 2
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB422 3
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4224 4
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4224 5
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_RGB444 6
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_RGBA4444 7
+#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_RGBZ4444 8
+#define NV_CTRL_GVO_DATA_FORMAT_Y10CR10CB10_TO_YCRCB444 9
+#define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8_TO_YCRCB444 10
+#define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8A10_TO_YCRCBA4444 11
+#define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8Z10_TO_YCRCBZ4444 12
+#define NV_CTRL_GVO_DATA_FORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422 13
+#define NV_CTRL_GVO_DATA_FORMAT_DUAL_Y8CR8CB8_TO_DUAL_YCRCB422 14
+
+
+/*
+ * NV_CTRL_GVO_DISPLAY_X_SCREEN - enable/disable GVO output of the X
+ * screen. At this point, all the GVO attributes that have been
+ * cached in the X server are flushed to the hardware and GVO is
+ * enabled. Note that this attribute can fail to be set if a GLX
+ * client has locked the GVO output (via glXGetVideoDeviceNV). Note
+ * that due to the inherit race conditions in this locking strategy,
+ * NV_CTRL_GVO_DISPLAY_X_SCREEN can fail unexpectantly. In the
+ * failing situation, X will not return an X error. Instead, you
+ * should query the value of NV_CTRL_GVO_DISPLAY_X_SCREEN after
+ * setting it to confirm that the setting was applied.
+ */
+
+#define NV_CTRL_GVO_DISPLAY_X_SCREEN 73 /* RW- */
+#define NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE 1
+#define NV_CTRL_GVO_DISPLAY_X_SCREEN_DISABLE 0
+
+
+/*
+ * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED - indicates whether
+ * Composite Sync input is detected.
+ */
+
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED 74 /* R-- */
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE 0
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_TRUE 1
+
+
+/*
+ * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE - get/set the
+ * Composite Sync input detect mode. XXX is this needed?
+ */
+
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE 75 /* RW- */
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO 0
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_BI_LEVEL 1
+#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_TRI_LEVEL 2
+
+
+/*
+ * NV_CTRL_GVO_SYNC_INPUT_DETECTED - indicates whether SDI Sync input
+ * is detected, and what type.
+ */
+
+#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED 76 /* R-- */
+#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_NONE 0
+#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_HD 1
+#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_SD 2
+
+
+/*
+ * NV_CTRL_GVO_VIDEO_OUTPUTS - indicates which GVO video output
+ * connectors are currently outputing data.
+ */
+
+#define NV_CTRL_GVO_VIDEO_OUTPUTS 77 /* R-- */
+#define NV_CTRL_GVO_VIDEO_OUTPUTS_NONE 0
+#define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO1 1
+#define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO2 2
+#define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO_BOTH 3
+
+
+/*
+ * NV_CTRL_GVO_FPGA_VERSION - indicates the version of the Firmware on
+ * the GVO device. XXX would this be better as a string attribute?
+ */
+
+#define NV_CTRL_GVO_FIRMWARE_VERSION 78 /* R-- */
+
+
+/*
+ * NV_CTRL_GVO_SYNC_DELAY_PIXELS - controls the delay between the
+ * input sync and the output sync in numbers of pixels from hsync;
+ * this is a 12 bit value.
+ */
+
+#define NV_CTRL_GVO_SYNC_DELAY_PIXELS 79 /* RW- */
+
+
+/*
+ * NV_CTRL_GVO_SYNC_DELAY_LINES - controls the delay between the input
+ * sync and the output sync in numbers of lines from vsync; this is a
+ * 12 bit value.
+ */
+
+#define NV_CTRL_GVO_SYNC_DELAY_LINES 80 /* RW- */
+
+
+/*
+ * NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE - must be set for a period
+ * of about 2 seconds for the new InputVideoFormat to be properly
+ * locked to.  In nvidia-settings, we do a reacquire whenever genlock
+ * or framelock mode is entered into, when the user clicks the
+ * "detect" button. This value can be written, but always reads back
+ * _FALSE.
+ */
+
+#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE 81 /* -W- */
+#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE 0
+#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_TRUE 1
+
+
+/*
+ * NV_CTRL_GVO_LOCKED - indicates that GVO configurability is locked;
+ * this occurs when the GLX_NV_video_out function calls
+ * glXGetVideoDeviceNV(). All GVO output resources are locked until
+ * either glXReleaseVideoDeviceNV() is called or the X Display used
+ * when calling glXGetVideoDeviceNV() is closed.
+ *
+ * When GVO is locked; all GVO NV-CONTROL attributes are read only.
+ */
+
+#define NV_CTRL_GVO_GLX_LOCKED 82 /* R-- */
+#define NV_CTRL_GVO_GLX_LOCKED_FALSE 0
+#define NV_CTRL_GVO_GLX_LOCKED_TRUE 1
+
+
+
+/*
+ * NV_CTRL_GVO_VIDEO_FORMAT_{WIDTH,HEIGHT,REFRESH_RATE} - query the
+ * width, height, and refresh rate for the specified
+ * NV_CTRL_GVO_VIDEO_FORMAT_*. So that this can be queried with
+ * existing interfaces, XNVCTRLQueryAttribute() should be used, and
+ * the video format specified in the display_mask field; eg:
+ *
+ * XNVCTRLQueryAttribute (dpy,
+ * screen,
+ * NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC
+ * NV_CTRL_GVO_VIDEO_FORMAT_WIDTH,
+ * &value);
+ *
+ * Note that Refresh Rate is in 1/1000 Hertz values
+ */
+
+#define NV_CTRL_GVO_VIDEO_FORMAT_WIDTH 83 /* R-- */
+#define NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT 84 /* R-- */
+#define NV_CTRL_GVO_VIDEO_FORMAT_REFRESH_RATE 85 /* R-- */
+
+
+/*
+ * NV_CTRL_GVO_X_SCREEN_PAN_[XY] - when GVO output of the X screen is
+ * enabled, the pan x/y attributes control which portion of the X
+ * screen is displayed by GVO. These attributes can be updated while
+ * GVO output is enabled, or before enabling GVO output. The pan
+ * values will be clamped so that GVO output is not panned beyond the
+ * end of the X screen.
+ */
+
+#define NV_CTRL_GVO_X_SCREEN_PAN_X 86 /* RW- */
+#define NV_CTRL_GVO_X_SCREEN_PAN_Y 87 /* RW- */
+
+
+/*
+ * XXX Still to do: GVO Color Conversion
+ */
+
+/*
+ * XXX what sync error attributes do we need to expose?
+ */
+
+
+/**************************************************************************/
+
+
+#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_GVO_X_SCREEN_PAN_Y
+
+
+
/**************************************************************************/
diff --git a/src/libXNVCtrl/libXNVCtrl.a b/src/libXNVCtrl/libXNVCtrl.a
index f1a145f..83c81c6 100644
--- a/src/libXNVCtrl/libXNVCtrl.a
+++ b/src/libXNVCtrl/libXNVCtrl.a
Binary files differ
diff --git a/src/libXNVCtrlAttributes/NvCtrlAttributes.c b/src/libXNVCtrlAttributes/NvCtrlAttributes.c
index 07b0256..3d70024 100644
--- a/src/libXNVCtrlAttributes/NvCtrlAttributes.c
+++ b/src/libXNVCtrlAttributes/NvCtrlAttributes.c
@@ -141,6 +141,60 @@ Display *NvCtrlGetDisplayPtr(NvCtrlAttributeHandle *handle)
} /* NvCtrlDisplayPtr() */
+/*
+ * NvCtrlGetScreen() - returns the screen number associated with this
+ * NvCtrlAttributeHandle.
+ */
+
+int NvCtrlGetScreen(NvCtrlAttributeHandle *handle)
+{
+ NvCtrlAttributePrivateHandle *h;
+
+ if (!handle) return -1;
+
+ h = (NvCtrlAttributePrivateHandle *) handle;
+
+ return h->screen;
+
+} /* NvCtrlGetScreen() */
+
+
+/*
+ * NvCtrlGetScreenWidth() - return the width of the screen associated
+ * with this NvCtrlAttributeHandle.
+ */
+
+int NvCtrlGetScreenWidth(NvCtrlAttributeHandle *handle)
+{
+ NvCtrlAttributePrivateHandle *h;
+
+ if (!handle) return -1;
+
+ h = (NvCtrlAttributePrivateHandle *) handle;
+
+ return DisplayWidth(h->dpy, h->screen);
+
+} /* NvCtrlGetScreenWidth() */
+
+
+/*
+ * NvCtrlGetScreenHeight() - return the height of the screen
+ * associated with this NvCtrlAttributeHandle.
+ */
+
+int NvCtrlGetScreenHeight(NvCtrlAttributeHandle *handle)
+{
+ NvCtrlAttributePrivateHandle *h;
+
+ if (!handle) return -1;
+
+ h = (NvCtrlAttributePrivateHandle *) handle;
+
+ return DisplayHeight(h->dpy, h->screen);
+
+} /* NvCtrlGetScreenHeight() */
+
+
int NvCtrlGetEventBase(NvCtrlAttributeHandle *handle)
{
NvCtrlAttributePrivateHandle *h;
diff --git a/src/libXNVCtrlAttributes/NvCtrlAttributes.h b/src/libXNVCtrlAttributes/NvCtrlAttributes.h
index 08c90ff..b1b6be8 100644
--- a/src/libXNVCtrlAttributes/NvCtrlAttributes.h
+++ b/src/libXNVCtrlAttributes/NvCtrlAttributes.h
@@ -153,6 +153,9 @@ NvCtrlAttributeHandle *NvCtrlAttributeInit(Display *dpy, int screen,
char *NvCtrlGetDisplayName(NvCtrlAttributeHandle *handle);
Display *NvCtrlGetDisplayPtr(NvCtrlAttributeHandle *handle);
+int NvCtrlGetScreen(NvCtrlAttributeHandle *handle);
+int NvCtrlGetScreenWidth(NvCtrlAttributeHandle *handle);
+int NvCtrlGetScreenHeight(NvCtrlAttributeHandle *handle);
int NvCtrlGetEventBase(NvCtrlAttributeHandle *handle);
ReturnStatus NvCtrlGetColorAttributes (NvCtrlAttributeHandle *handle,