[libadwaita] Add AdwAboutWindow



commit 6e161184d1e4a7ebaaeb4cdda0fd5fb52b0410f6
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Mon Sep 20 15:21:51 2021 +0200

    Add AdwAboutWindow

 demo/adw-demo-debug-info.c                         |  170 +
 demo/adw-demo-debug-info.h                         |    9 +
 demo/adw-demo-window.c                             |    2 +
 demo/adw-demo-window.ui                            |    8 +
 demo/adwaita-demo.c                                |   66 +-
 demo/adwaita-demo.gresources.xml                   |    3 +
 demo/icons/org.example.Typeset.Source.svg          | 3635 ++++++++++++++++++++
 .../scalable/actions/widget-about-symbolic.svg     |    4 +
 demo/icons/scalable/apps/org.example.Typeset.svg   |    1 +
 demo/meson.build                                   |   14 +
 demo/pages/about/adw-demo-page-about.c             |   99 +
 demo/pages/about/adw-demo-page-about.h             |   11 +
 demo/pages/about/adw-demo-page-about.ui            |   24 +
 doc/images/about-window-credits-dark.png           |  Bin 0 -> 5416 bytes
 doc/images/about-window-credits.png                |  Bin 0 -> 6542 bytes
 doc/images/about-window-dark.png                   |  Bin 0 -> 22206 bytes
 doc/images/about-window.png                        |  Bin 0 -> 23900 bytes
 doc/libadwaita.toml.in                             |    4 +
 doc/tools/data/about-window-credits.ui             |   44 +
 doc/tools/data/about-window.ui                     |   14 +
 doc/visual-index.md                                |    7 +
 po/POTFILES.in                                     |    2 +
 src/adw-about-window.c                             | 3222 +++++++++++++++++
 src/adw-about-window.h                             |  175 +
 src/adw-about-window.ui                            |  811 +++++
 src/adwaita.gresources.xml                         |    3 +
 src/adwaita.h                                      |    1 +
 .../actions/adw-external-link-symbolic.svg         |    1 +
 .../scalable/actions/adw-mail-send-symbolic.svg    |    1 +
 src/meson.build                                    |    2 +
 src/stylesheet/widgets/_misc.scss                  |   46 +
 tests/meson.build                                  |    1 +
 tests/test-about-window.c                          |  109 +
 33 files changed, 8461 insertions(+), 28 deletions(-)
---
diff --git a/demo/adw-demo-debug-info.c b/demo/adw-demo-debug-info.c
new file mode 100644
index 00000000..d67db893
--- /dev/null
+++ b/demo/adw-demo-debug-info.c
@@ -0,0 +1,170 @@
+#include "config.h"
+
+#include "adw-demo-debug-info.h"
+
+/* Copied and adapted from gtk/inspector/general.c */
+static void
+get_gtk_info (const char **backend,
+              const char **renderer)
+{
+  GdkDisplay *display = gdk_display_get_default ();
+  GdkSurface *surface;
+  GskRenderer *gsk_renderer;
+
+  if (!g_strcmp0 (G_OBJECT_TYPE_NAME (display), "GdkX11Display"))
+    *backend = "X11";
+  else if (!g_strcmp0 (G_OBJECT_TYPE_NAME (display), "GdkWaylandDisplay"))
+    *backend = "Wayland";
+  else if (!g_strcmp0 (G_OBJECT_TYPE_NAME (display), "GdkBroadwayDisplay"))
+    *backend = "Broadway";
+  else if (!g_strcmp0 (G_OBJECT_TYPE_NAME (display), "GdkWin32Display"))
+    *backend = "Windows";
+  else if (!g_strcmp0 (G_OBJECT_TYPE_NAME (display), "GdkMacosDisplay"))
+    *backend = "macOS";
+  else
+    *backend = G_OBJECT_TYPE_NAME (display);
+
+  surface = gdk_surface_new_toplevel (display);
+  gsk_renderer = gsk_renderer_new_for_surface (surface);
+  if (!g_strcmp0 (G_OBJECT_TYPE_NAME (gsk_renderer), "GskVulkanRenderer"))
+    *renderer = "Vulkan";
+  else if (!g_strcmp0 (G_OBJECT_TYPE_NAME (gsk_renderer), "GskGLRenderer"))
+    *renderer = "GL";
+  else if (!g_strcmp0 (G_OBJECT_TYPE_NAME (gsk_renderer), "GskCairoRenderer"))
+    *renderer = "Cairo";
+  else
+    *renderer = G_OBJECT_TYPE_NAME (gsk_renderer);
+
+  gsk_renderer_unrealize (gsk_renderer);
+  g_object_unref (gsk_renderer);
+  gdk_surface_destroy (surface);
+}
+
+#ifndef G_OS_WIN32
+static char *
+get_flatpak_info (const char *group,
+                  const char *key)
+{
+  GKeyFile *keyfile = g_key_file_new ();
+  char *ret = NULL;
+
+  if (g_key_file_load_from_file (keyfile, "/.flatpak-info", 0, NULL))
+    ret = g_key_file_get_string (keyfile, group, key, NULL);
+
+  g_key_file_unref (keyfile);
+
+  return ret;
+}
+#endif
+
+char *
+adw_demo_generate_debug_info (void)
+{
+  GString *string = g_string_new (NULL);
+#ifndef G_OS_WIN32
+  gboolean flatpak = g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS);
+#endif
+
+  g_string_append_printf (string, "Libadwaita demo: %s (%s)\n", ADW_VERSION_S,
+                                                                ADW_DEMO_VCS_TAG);
+  g_string_append (string, "\n");
+
+  g_string_append (string, "Compiled against:\n");
+  g_string_append_printf (string, "- GLib: %d.%d.%d\n", GLIB_MAJOR_VERSION,
+                                                        GLIB_MINOR_VERSION,
+                                                        GLIB_MICRO_VERSION);
+  g_string_append_printf (string, "- GTK: %d.%d.%d\n", GTK_MAJOR_VERSION,
+                                                       GTK_MINOR_VERSION,
+                                                       GTK_MICRO_VERSION);
+  g_string_append (string, "\n");
+
+  g_string_append (string, "Running against:\n");
+  g_string_append_printf (string, "- GLib: %d.%d.%d\n", glib_major_version,
+                                                        glib_minor_version,
+                                                        glib_micro_version);
+  g_string_append_printf (string, "- GTK: %d.%d.%d\n", gtk_get_major_version (),
+                                                       gtk_get_minor_version (),
+                                                       gtk_get_micro_version ());
+  g_string_append (string, "\n");
+
+  {
+    char *os_name = g_get_os_info (G_OS_INFO_KEY_NAME);
+    char *os_version = g_get_os_info (G_OS_INFO_KEY_VERSION);
+
+    g_string_append (string, "System:\n");
+    g_string_append_printf (string, "- Name: %s\n", os_name);
+    g_string_append_printf (string, "- Version: %s\n", os_version);
+    g_string_append (string, "\n");
+
+    g_free (os_name);
+    g_free (os_version);
+  }
+
+  {
+    const char *backend, *renderer;
+
+    get_gtk_info (&backend, &renderer);
+
+    g_string_append (string, "GTK:\n");
+    g_string_append_printf (string, "- GDK backend: %s\n", backend);
+    g_string_append_printf (string, "- GSK renderer: %s\n", renderer);
+    g_string_append (string, "\n");
+  }
+
+#ifndef G_OS_WIN32
+  if (flatpak) {
+    char *runtime = get_flatpak_info ("Application", "runtime");
+    char *runtime_commit = get_flatpak_info ("Instance", "runtime-commit");
+    char *arch = get_flatpak_info ("Instance", "arch");
+    char *flatpak_version = get_flatpak_info ("Instance", "flatpak-version");
+    char *devel = get_flatpak_info ("Instance", "devel");
+
+    g_string_append (string, "Flatpak:\n");
+    g_string_append_printf (string, "- Runtime: %s\n", runtime);
+    g_string_append_printf (string, "- Runtime commit: %s\n", runtime_commit);
+    g_string_append_printf (string, "- Arch: %s\n", arch);
+    g_string_append_printf (string, "- Flatpak version: %s\n", flatpak_version);
+    g_string_append_printf (string, "- Devel: %s\n", devel ? "yes" : "no");
+    g_string_append (string, "\n");
+
+    g_free (runtime);
+    g_free (runtime_commit);
+    g_free (arch);
+    g_free (flatpak_version);
+    g_free (devel);
+  }
+#endif
+
+  {
+    const char *desktop = g_getenv ("XDG_CURRENT_DESKTOP");
+    const char *session_desktop = g_getenv ("XDG_SESSION_DESKTOP");
+    const char *session_type = g_getenv ("XDG_SESSION_TYPE");
+    const char *lang = g_getenv ("LANG");
+    const char *builder = g_getenv ("INSIDE_GNOME_BUILDER");
+    const char *gtk_debug = g_getenv ("GTK_DEBUG");
+    const char *gtk_theme = g_getenv ("GTK_THEME");
+    const char *adw_debug_color_scheme = g_getenv ("ADW_DEBUG_COLOR_SCHEME");
+    const char *adw_debug_high_contrast = g_getenv ("ADW_DEBUG_HIGH_CONTRAST");
+    const char *adw_disable_portal = g_getenv ("ADW_DISABLE_PORTAL");
+
+    g_string_append (string, "Environment:\n");
+    g_string_append_printf (string, "- Desktop: %s\n", desktop);
+    g_string_append_printf (string, "- Session: %s (%s)\n", session_desktop,
+                                                            session_type);
+    g_string_append_printf (string, "- Language: %s\n", lang);
+    g_string_append_printf (string, "- Running inside Builder: %s\n", builder ? "yes" : "no");
+
+    if (gtk_debug)
+      g_string_append_printf (string, "- GTK_DEBUG: %s\n", gtk_debug);
+    if (gtk_theme)
+      g_string_append_printf (string, "- GTK_THEME: %s\n", gtk_theme);
+    if (adw_debug_color_scheme)
+      g_string_append_printf (string, "- ADW_DEBUG_COLOR_SCHEME: %s\n", adw_debug_color_scheme);
+    if (adw_debug_high_contrast)
+      g_string_append_printf (string, "- ADW_DEBUG_HIGH_CONTRAST: %s\n", adw_debug_high_contrast);
+    if (adw_disable_portal)
+      g_string_append_printf (string, "- ADW_DISABLE_PORTAL: %s\n", adw_disable_portal);
+  }
+
+  return g_string_free (string, FALSE);
+}
diff --git a/demo/adw-demo-debug-info.h b/demo/adw-demo-debug-info.h
new file mode 100644
index 00000000..341eae9f
--- /dev/null
+++ b/demo/adw-demo-debug-info.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#include <adwaita.h>
+
+G_BEGIN_DECLS
+
+char *adw_demo_generate_debug_info (void);
+
+G_END_DECLS
diff --git a/demo/adw-demo-window.c b/demo/adw-demo-window.c
index b15faf9c..74edef49 100644
--- a/demo/adw-demo-window.c
+++ b/demo/adw-demo-window.c
@@ -2,6 +2,7 @@
 
 #include <glib/gi18n.h>
 
+#include "pages/about/adw-demo-page-about.h"
 #include "pages/animations/adw-demo-page-animations.h"
 #include "pages/avatar/adw-demo-page-avatar.h"
 #include "pages/buttons/adw-demo-page-buttons.h"
@@ -116,6 +117,7 @@ adw_demo_window_init (AdwDemoWindow *self)
 {
   AdwStyleManager *manager = adw_style_manager_get_default ();
 
+  g_type_ensure (ADW_TYPE_DEMO_PAGE_ABOUT);
   g_type_ensure (ADW_TYPE_DEMO_PAGE_ANIMATIONS);
   g_type_ensure (ADW_TYPE_DEMO_PAGE_AVATAR);
   g_type_ensure (ADW_TYPE_DEMO_PAGE_BUTTONS);
diff --git a/demo/adw-demo-window.ui b/demo/adw-demo-window.ui
index 7f3799bf..76f90f9f 100644
--- a/demo/adw-demo-window.ui
+++ b/demo/adw-demo-window.ui
@@ -228,6 +228,14 @@
                             </property>
                           </object>
                         </child>
+                        <child>
+                          <object class="GtkStackPage">
+                            <property name="title" translatable="yes">About Window</property>
+                            <property name="child">
+                              <object class="AdwDemoPageAbout"/>
+                            </property>
+                          </object>
+                        </child>
                       </object>
                     </child>
                   </object>
diff --git a/demo/adwaita-demo.c b/demo/adwaita-demo.c
index 54bbb1de..ff968883 100644
--- a/demo/adwaita-demo.c
+++ b/demo/adwaita-demo.c
@@ -2,6 +2,7 @@
 #include <gtk/gtk.h>
 #include <adwaita.h>
 
+#include "adw-demo-debug-info.h"
 #include "adw-demo-preferences-window.h"
 #include "adw-demo-window.h"
 
@@ -31,7 +32,7 @@ show_about (GSimpleAction *action,
             GVariant      *state,
             gpointer       user_data)
 {
-  const char *authors[] = {
+  const char *developers[] = {
     "Adrien Plazas",
     "Alexander Mikhaylenko",
     "Andrei Lișiță",
@@ -42,38 +43,47 @@ show_about (GSimpleAction *action,
     NULL
   };
 
-  const char *artists[] = {
+  const char *designers[] = {
     "GNOME Design Team",
     NULL
-  };
+ };
 
   GtkApplication *app = GTK_APPLICATION (user_data);
   GtkWindow *window = gtk_application_get_active_window (app);
-  char *version;
-
-  version = g_strdup_printf ("%s\nRunning against libadwaita %d.%d.%d, GTK %d.%d.%d",
-                             ADW_VERSION_S,
-                             adw_get_major_version (),
-                             adw_get_minor_version (),
-                             adw_get_micro_version (),
-                             gtk_get_major_version (),
-                             gtk_get_minor_version (),
-                             gtk_get_micro_version ());
-
-  gtk_show_about_dialog (window,
-                         "program-name", _("Adwaita Demo"),
-                         "title", _("About Adwaita Demo"),
-                         "logo-icon-name", "org.gnome.Adwaita1.Demo",
-                         "version", version,
-                         "copyright", "Copyright © 2017–2021 Purism SPC",
-                         "comments", _("Tour of the features in Libadwaita"),
-                         "website", "https://gitlab.gnome.org/GNOME/libadwaita";,
-                         "license-type", GTK_LICENSE_LGPL_2_1,
-                         "authors", authors,
-                         "artists", artists,
-                         "translator-credits", _("translator-credits"),
-                         NULL);
-  g_free (version);
+  char *debug_info;
+  GtkWidget *about;
+
+  debug_info = adw_demo_generate_debug_info ();
+
+  about =
+    g_object_new (ADW_TYPE_ABOUT_WINDOW,
+                  "transient-for", window,
+                  "application-icon", "org.gnome.Adwaita1.Demo",
+                  "application-name", _("Adwaita Demo"),
+                  "developer-name", _("The GNOME Project"),
+                  "version", ADW_VERSION_S,
+                  "website", "https://gitlab.gnome.org/GNOME/libadwaita";,
+                  "issue-url", "https://gitlab.gnome.org/GNOME/libadwaita/-/issues/new";,
+                  "debug-info", debug_info,
+                  "debug-info-filename", "adwaita-1-demo-debug-info.txt",
+                  "copyright", "© 2017–2022 Purism SPC",
+                  "license-type", GTK_LICENSE_LGPL_2_1,
+                  "developers", developers,
+                  "designers", designers,
+                  "artists", designers,
+                  "translator-credits", _("translator-credits"),
+                  NULL);
+
+  adw_about_window_add_link (ADW_ABOUT_WINDOW (about),
+                             _("_Documentation"),
+                             "https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/";);
+  adw_about_window_add_link (ADW_ABOUT_WINDOW (about),
+                             _("_Chat"),
+                             "https://matrix.to/#/#libadwaita:gnome.org";);
+
+  gtk_window_present (GTK_WINDOW (about));
+
+  g_free (debug_info);
 }
 
 static void
diff --git a/demo/adwaita-demo.gresources.xml b/demo/adwaita-demo.gresources.xml
index b27a6b98..b307ecea 100644
--- a/demo/adwaita-demo.gresources.xml
+++ b/demo/adwaita-demo.gresources.xml
@@ -25,6 +25,7 @@
     <file preprocess="xml-stripblanks">icons/scalable/actions/view-sidebar-start-symbolic-rtl.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/view-sidebar-end-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/view-sidebar-end-symbolic-rtl.svg</file>
+    <file preprocess="xml-stripblanks">icons/scalable/actions/widget-about-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/widget-carousel-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/widget-clamp-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/widget-dialog-symbolic.svg</file>
@@ -35,6 +36,7 @@
     <file preprocess="xml-stripblanks">icons/scalable/actions/widget-toast-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/widget-view-switcher-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/apps/org.gnome.Boxes.svg</file>
+    <file preprocess="xml-stripblanks">icons/scalable/apps/org.example.Typeset.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/status/dark-mode-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/status/light-mode-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/status/tab-audio-playing-symbolic.svg</file>
@@ -43,6 +45,7 @@
     <file compressed="true">style-dark.css</file>
   </gresource>
   <gresource prefix="/org/gnome/Adwaita1/Demo/ui">
+    <file preprocess="xml-stripblanks">pages/about/adw-demo-page-about.ui</file>
     <file preprocess="xml-stripblanks">pages/animations/adw-demo-page-animations.ui</file>
     <file preprocess="xml-stripblanks">pages/avatar/adw-demo-page-avatar.ui</file>
     <file preprocess="xml-stripblanks">pages/buttons/adw-demo-page-buttons.ui</file>
diff --git a/demo/icons/org.example.Typeset.Source.svg b/demo/icons/org.example.Typeset.Source.svg
new file mode 100644
index 00000000..392d686a
--- /dev/null
+++ b/demo/icons/org.example.Typeset.Source.svg
@@ -0,0 +1,3635 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   inkscape:export-ydpi="96"
+   inkscape:export-xdpi="96"
+   inkscape:export-filename="Template.png"
+   width="192"
+   height="152"
+   id="svg11300"
+   sodipodi:version="0.32"
+   inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
+   sodipodi:docname="nonexistant.app.Typeset.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.0"
+   style="display:inline;enable-background:new"
+   viewBox="0 0 192 152"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:dc="http://purl.org/dc/elements/1.1/";>
+  <title
+     id="title4162">Adwaita Icon Template</title>
+  <defs
+     id="defs3">
+    <linearGradient
+       id="linearGradient1154"
+       inkscape:collect="always">
+      <stop
+         id="stop1142"
+         offset="0"
+         style="stop-color:#77767b;stop-opacity:1" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="0.05000014"
+         id="stop1144" />
+      <stop
+         id="stop1146"
+         offset="0.09980702"
+         style="stop-color:#9a9996;stop-opacity:1" />
+      <stop
+         style="stop-color:#9a9996;stop-opacity:1"
+         offset="0.90000081"
+         id="stop1148" />
+      <stop
+         id="stop1150"
+         offset="0.95000082"
+         style="stop-color:#c0bfbc;stop-opacity:1" />
+      <stop
+         id="stop1152"
+         offset="1"
+         style="stop-color:#77767b;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1078"
+       id="linearGradient914"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.25,0,0,0.25,-460.60691,395.4264)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       id="linearGradient1078"
+       inkscape:collect="always">
+      <stop
+         id="stop1066"
+         offset="0"
+         style="stop-color:#77767b;stop-opacity:1" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="0.03571429"
+         id="stop1068" />
+      <stop
+         id="stop1070"
+         offset="0.07136531"
+         style="stop-color:#9a9996;stop-opacity:1" />
+      <stop
+         style="stop-color:#9a9996;stop-opacity:1"
+         offset="0.9285714"
+         id="stop1072" />
+      <stop
+         id="stop1074"
+         offset="0.96428573"
+         style="stop-color:#c0bfbc;stop-opacity:1" />
+      <stop
+         id="stop1076"
+         offset="1"
+         style="stop-color:#77767b;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1073"
+       id="linearGradient1064"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.23214285,0,0,0.32894738,-376.56691,435.82697)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1073">
+      <stop
+         style="stop-color:#77767b;stop-opacity:1"
+         offset="0"
+         id="stop1060" />
+      <stop
+         id="stop1062"
+         offset="0.03846154"
+         style="stop-color:#c0bfbc;stop-opacity:1" />
+      <stop
+         style="stop-color:#9a9996;stop-opacity:1"
+         offset="0.07685554"
+         id="stop1064" />
+      <stop
+         id="stop1067"
+         offset="0.92307693"
+         style="stop-color:#9a9996;stop-opacity:1" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="0.96153849"
+         id="stop1069" />
+      <stop
+         style="stop-color:#77767b;stop-opacity:1"
+         offset="1"
+         id="stop1071" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1154"
+       id="linearGradient1140"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.19642829,0,0,0.34210528,-365.40268,445.74005)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10876"
+       id="linearGradient1001"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8293937,-0.81599442,0.81599442,1.8293937,-4327.9736,278.58079)"
+       x1="1660.8571"
+       y1="806.29718"
+       x2="1662.9901"
+       y2="812.88245" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient10876">
+      <stop
+         style="stop-color:#949390;stop-opacity:1"
+         offset="0"
+         id="stop10872" />
+      <stop
+         style="stop-color:#68676b;stop-opacity:1"
+         offset="1"
+         id="stop10874" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(-693.32504,153.44901)"
+       inkscape:collect="always"
+       xlink:href="#linearGradient988"
+       id="linearGradient990"
+       x1="64.000008"
+       y1="202.38483"
+       x2="64.000008"
+       y2="444.5"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient988">
+      <stop
+         style="stop-color:#a347ba;stop-opacity:1;"
+         offset="0"
+         id="stop984" />
+      <stop
+         style="stop-color:#c061cb;stop-opacity:1"
+         offset="1"
+         id="stop986" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1879"
+       id="linearGradient1053"
+       x1="384"
+       y1="120"
+       x2="416"
+       y2="120"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.25,0,0,0.25,-681.32503,374.44901)" />
+    <linearGradient
+       id="linearGradient1879"
+       inkscape:collect="always">
+      <stop
+         id="stop1873"
+         offset="0"
+         style="stop-color:#e8e7e4;stop-opacity:1" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0.51104856"
+         id="stop1875" />
+      <stop
+         id="stop1877"
+         offset="1"
+         style="stop-color:#c2bfba;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       y2="236"
+       x2="96"
+       y1="236"
+       x1="32"
+       gradientTransform="translate(604.81684,170.58641)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1099"
+       xlink:href="#linearGradient1036" />
+    <linearGradient
+       id="linearGradient1036">
+      <stop
+         id="stop1032"
+         offset="0"
+         style="stop-color:#d5d3cf;stop-opacity:1;" />
+      <stop
+         id="stop1034"
+         offset="1"
+         style="stop-color:#f6f5f4;stop-opacity:1" />
+    </linearGradient>
+    <radialGradient
+       r="32"
+       fy="-76"
+       fx="-244"
+       cy="-76"
+       cx="-244"
+       gradientTransform="matrix(0.88333331,0,0,0.88333331,-460.35018,463.11973)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1103"
+       xlink:href="#linearGradient1069" />
+    <linearGradient
+       id="linearGradient1069">
+      <stop
+         id="stop1065"
+         offset="0"
+         style="stop-color:#d5d3cf;stop-opacity:1" />
+      <stop
+         id="stop1067-1"
+         offset="1"
+         style="stop-color:#949390;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="232"
+       x2="64"
+       y1="262.5"
+       x1="64"
+       id="linearGradient1027"
+       xlink:href="#linearGradient1025"
+       gradientTransform="translate(-470.5864,432.81685)" />
+    <linearGradient
+       id="linearGradient1025">
+      <stop
+         id="stop1021"
+         offset="0"
+         style="stop-color:#9a9996;stop-opacity:1" />
+      <stop
+         id="stop1023"
+         offset="1"
+         style="stop-color:#77767b;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1020">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop1016" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.09411765"
+         offset="1"
+         id="stop1018" />
+    </linearGradient>
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect35304-9"
+       is_visible="true" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1609-7">
+      <path
+         sodipodi:nodetypes="cccccc"
+         inkscape:connector-curvature="0"
+         id="path1611-5"
+         d="m 252,116 28,-28 v -8 h -36 v 36 z"
+         
style="fill:#e74747;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1697"
+       id="linearGradient1049"
+       x1="20"
+       y1="238"
+       x2="108"
+       y2="238"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient1697">
+      <stop
+         id="stop1685"
+         offset="0"
+         style="stop-color:#deddda;stop-opacity:1" />
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1"
+         offset="0.04545455"
+         id="stop1687" />
+      <stop
+         id="stop1689"
+         offset="0.09090909"
+         style="stop-color:#deddda;stop-opacity:1" />
+      <stop
+         style="stop-color:#deddda;stop-opacity:1"
+         offset="0.90909094"
+         id="stop1691" />
+      <stop
+         id="stop1693"
+         offset="0.95454544"
+         style="stop-color:#eeeeec;stop-opacity:1" />
+      <stop
+         id="stop1695"
+         offset="1"
+         style="stop-color:#c0bfbc;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1245">
+      <stop
+         style="stop-color:#9a9996;stop-opacity:1"
+         offset="0"
+         id="stop1241" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="1"
+         id="stop1243" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1289">
+      <path
+         
style="display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+         d="m 64,-148 h 64 l 64,-64 64,64 h 192 c 17.728,0 32,14.272 32,32 v 288 c 0,17.728 -14.272,32 
-32,32 H 256 l -64,-64 -64,64 H 64 C 46.272,204 32,189.728 32,172 v -288 c 0,-17.728 14.408898,-34.19889 
32,-32 z"
+         id="path1291"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="scccsssscccssss" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#paint3_linear-2-6-5"
+       id="linearGradient1383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,6,-12,0,-264,209.99687)"
+       x2="1" />
+    <linearGradient
+       id="paint3_linear-2-6-5"
+       x2="1"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,6,-12,0,-64,209.99687)">
+      <stop
+         stop-color="#C01C27"
+         id="stop91-0-7-4" />
+      <stop
+         offset="1"
+         stop-color="#E01B24"
+         id="stop93-2-5-7" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6058"
+       id="radialGradient1099"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.757743,-9.5621778e-8,3.7652438e-8,1.9495846,-82.64437,131.95505)"
+       cx="-24.238829"
+       cy="225.59558"
+       fx="-24.238829"
+       fy="225.59558"
+       r="24" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6058">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop6054" />
+      <stop
+         style="stop-color:#f6f5f4;stop-opacity:1"
+         offset="1"
+         id="stop6056" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1115"
+       id="linearGradient1097"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0015061,0,0,0.99993452,-117.15963,352.51519)"
+       x1="43.843597"
+       y1="234.00014"
+       x2="-60.000004"
+       y2="234.00014" />
+    <linearGradient
+       id="linearGradient1115"
+       inkscape:collect="always">
+      <stop
+         id="stop1103"
+         offset="0"
+         style="stop-color:#d5d3cf;stop-opacity:1" />
+      <stop
+         style="stop-color:#e3e2df;stop-opacity:1"
+         offset="0.03846154"
+         id="stop1105" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="0.07692308"
+         id="stop1107" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="0.92307693"
+         id="stop1109" />
+      <stop
+         style="stop-color:#e3e2df;stop-opacity:1"
+         offset="0.96153843"
+         id="stop1111" />
+      <stop
+         id="stop1113"
+         offset="1"
+         style="stop-color:#d5d3cf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1351-3"
+       id="linearGradient1574"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.25,0,0,0.25,180,83)"
+       x1="344"
+       y1="76"
+       x2="340"
+       y2="72" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1351-3">
+      <stop
+         style="stop-color:#d5d3cf;stop-opacity:1"
+         offset="0"
+         id="stop1347" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1"
+         id="stop1349-6" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1609">
+      <path
+         sodipodi:nodetypes="cccccc"
+         inkscape:connector-curvature="0"
+         id="path1611"
+         d="m 252,116 28,-28 v -8 h -36 v 36 z"
+         
style="fill:#e74747;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1187"
+       id="linearGradient1572"
+       gradientUnits="userSpaceOnUse"
+       x1="256"
+       y1="268"
+       x2="256"
+       y2="-180.00006" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1187">
+      <stop
+         style="stop-color:#eeeeec;stop-opacity:1;"
+         offset="0"
+         id="stop1183" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1"
+         id="stop1185" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient985"
+       inkscape:collect="always">
+      <stop
+         id="stop981"
+         offset="0"
+         style="stop-color:#f9f06b;stop-opacity:1" />
+      <stop
+         id="stop983"
+         offset="1"
+         style="stop-color:#f9f06b;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1076">
+      <stop
+         style="stop-color:#d5d3cf;stop-opacity:1"
+         offset="0"
+         id="stop1064-3" />
+      <stop
+         id="stop1066-7"
+         offset="0.03571428"
+         style="stop-color:#e4e1de;stop-opacity:1" />
+      <stop
+         style="stop-color:#d5d3cf;stop-opacity:1"
+         offset="0.07142857"
+         id="stop1068-5" />
+      <stop
+         id="stop1070-9"
+         offset="0.9285714"
+         style="stop-color:#d5d3cf;stop-opacity:1" />
+      <stop
+         style="stop-color:#e4e1de;stop-opacity:1"
+         offset="0.96428573"
+         id="stop1072-2" />
+      <stop
+         style="stop-color:#d5d3cf;stop-opacity:1"
+         offset="1"
+         id="stop1074-2" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient985"
+       id="linearGradient1106-2-7"
+       x1="301"
+       y1="33.559235"
+       x2="104"
+       y2="33.559235"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.25,0,0,0.25,-375.35922,572.37304)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1020"
+       id="radialGradient1030-8-1"
+       cx="63.999996"
+       cy="194.19048"
+       fx="63.999996"
+       fy="194.19048"
+       r="44"
+       gradientTransform="matrix(-4.1363634,1.2532736e-6,-2.6513804e-7,-1.3909091,-54.131932,-340.73849)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1076"
+       id="linearGradient1444-2-3-3-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.25,0,0,0.25,-395.35922,460.38207)"
+       x1="120"
+       y1="619.96387"
+       x2="568"
+       y2="619.96387" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1697"
+       id="linearGradient1278"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(2,-22)"
+       x1="50"
+       y1="238"
+       x2="74"
+       y2="238" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1245"
+       id="linearGradient1280"
+       gradientUnits="userSpaceOnUse"
+       x1="65"
+       y1="204"
+       x2="65"
+       y2="200" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1073-0"
+       id="linearGradient8402"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.23214285,0,0,0.20394738,-8.5666383,379.65249)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       id="linearGradient1073-0"
+       inkscape:collect="always">
+      <stop
+         id="stop1060-3"
+         offset="0"
+         style="stop-color:#63452c;stop-opacity:1" />
+      <stop
+         style="stop-color:#865e3c;stop-opacity:1"
+         offset="0.03846154"
+         id="stop1062-4" />
+      <stop
+         id="stop1064-0"
+         offset="0.07685554"
+         style="stop-color:#63452c;stop-opacity:1" />
+      <stop
+         style="stop-color:#63452c;stop-opacity:1"
+         offset="0.92307693"
+         id="stop1067-3" />
+      <stop
+         id="stop1069-9"
+         offset="0.96153849"
+         style="stop-color:#865e3c;stop-opacity:1" />
+      <stop
+         id="stop1071-1"
+         offset="1"
+         style="stop-color:#63452c;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1182"
+       id="linearGradient8404"
+       gradientUnits="userSpaceOnUse"
+       x1="30"
+       y1="264"
+       x2="104"
+       y2="278" />
+    <linearGradient
+       id="linearGradient1182"
+       inkscape:collect="always">
+      <stop
+         id="stop1178"
+         offset="0"
+         style="stop-color:#deddda;stop-opacity:1" />
+      <stop
+         id="stop1180"
+         offset="1"
+         style="stop-color:#c0bfbc;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1073-0"
+       id="linearGradient8406"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.23214285,0,0,0.125,-8.5666383,318.17401)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1928"
+       id="linearGradient8408"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.23214285,0,0,0.20394738,-8.5666383,379.65249)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient1928">
+      <stop
+         style="stop-color:#3d3846;stop-opacity:1"
+         offset="0"
+         id="stop1916" />
+      <stop
+         id="stop1918"
+         offset="0.03846154"
+         style="stop-color:#77767b;stop-opacity:1" />
+      <stop
+         style="stop-color:#3d3846;stop-opacity:1"
+         offset="0.07685554"
+         id="stop1920" />
+      <stop
+         id="stop1922"
+         offset="0.92307693"
+         style="stop-color:#3d3846;stop-opacity:1" />
+      <stop
+         style="stop-color:#77767b;stop-opacity:1"
+         offset="0.96153849"
+         id="stop1924" />
+      <stop
+         style="stop-color:#3d3846;stop-opacity:1"
+         offset="1"
+         id="stop1926" />
+    </linearGradient>
+    <linearGradient
+       y2="278"
+       x2="104"
+       y1="264"
+       x1="30"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1938"
+       xlink:href="#linearGradient2212"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2212">
+      <stop
+         style="stop-color:#f6f5f4;stop-opacity:1"
+         offset="0"
+         id="stop2208" />
+      <stop
+         style="stop-color:#deddda;stop-opacity:1"
+         offset="1"
+         id="stop2210" />
+    </linearGradient>
+    <clipPath
+       id="clipPath1992"
+       clipPathUnits="userSpaceOnUse">
+      <rect
+         
style="opacity:0.2;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+         id="rect1994"
+         width="104"
+         height="8"
+         x="12"
+         y="248" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2008"
+       id="linearGradient1932"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.25000058,0,0,0.1249992,-14.149027,308.17365)"
+       x1="88.595886"
+       y1="-449.39401"
+       x2="536.59589"
+       y2="-449.39401" />
+    <linearGradient
+       id="linearGradient2008"
+       inkscape:collect="always">
+      <stop
+         id="stop1996"
+         offset="0"
+         style="stop-color:#1a5fb4;stop-opacity:1" />
+      <stop
+         style="stop-color:#3584e4;stop-opacity:1"
+         offset="0.03846154"
+         id="stop1998" />
+      <stop
+         id="stop2000"
+         offset="0.07685554"
+         style="stop-color:#1a5fb4;stop-opacity:1" />
+      <stop
+         style="stop-color:#1a5fb4;stop-opacity:1"
+         offset="0.92307693"
+         id="stop2002" />
+      <stop
+         id="stop2004"
+         offset="0.96153849"
+         style="stop-color:#3584e4;stop-opacity:1" />
+      <stop
+         id="stop2006"
+         offset="1"
+         style="stop-color:#1a5fb4;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       y2="220"
+       x2="67.000298"
+       y1="220"
+       x1="60.999699"
+       gradientTransform="rotate(60,83.052899,209.00012)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2370-3"
+       xlink:href="#linearGradient5442"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5442">
+      <stop
+         style="stop-color:#5e5c64;stop-opacity:1"
+         offset="0"
+         id="stop5436" />
+      <stop
+         id="stop5438"
+         offset="0.5"
+         style="stop-color:#9a9996;stop-opacity:1" />
+      <stop
+         style="stop-color:#3d3846;stop-opacity:1"
+         offset="1"
+         id="stop5440" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2016"
+       id="linearGradient8414"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.6666251,0,0,2.6666251,-106.66373,343.65773)"
+       x1="58"
+       y1="-211"
+       x2="70"
+       y2="-211" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2016">
+      <stop
+         style="stop-color:#77767b;stop-opacity:1"
+         offset="0"
+         id="stop2010" />
+      <stop
+         id="stop2012"
+         offset="0.5"
+         style="stop-color:#9a9996;stop-opacity:1" />
+      <stop
+         style="stop-color:#77767b;stop-opacity:1"
+         offset="1"
+         id="stop2014" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5182"
+       id="linearGradient8416"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,174)"
+       x1="58"
+       y1="43.49958"
+       x2="70"
+       y2="43.49958" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5182">
+      <stop
+         style="stop-color:#5e5c64;stop-opacity:1"
+         offset="0"
+         id="stop5176" />
+      <stop
+         id="stop5178"
+         offset="0.5"
+         style="stop-color:#c0bfbc;stop-opacity:1" />
+      <stop
+         style="stop-color:#3d3846;stop-opacity:1"
+         offset="1"
+         id="stop5180" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1799"
+       id="linearGradient8422"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.9999773,0,0,1.9999773,-63.998267,221.99516)"
+       x1="58"
+       y1="-211"
+       x2="70"
+       y2="-211" />
+    <linearGradient
+       id="linearGradient1799"
+       inkscape:collect="always">
+      <stop
+         id="stop1793"
+         offset="0"
+         style="stop-color:#77767b;stop-opacity:1" />
+      <stop
+         style="stop-color:#c0bfbc;stop-opacity:1"
+         offset="0.5"
+         id="stop1795" />
+      <stop
+         id="stop1797"
+         offset="1"
+         style="stop-color:#77767b;stop-opacity:1" />
+    </linearGradient>
+    <radialGradient
+       r="7.9999094"
+       fy="-64.000015"
+       fx="-194.83652"
+       cy="-64.000015"
+       cx="-194.83652"
+       gradientTransform="matrix(0.77469554,0,0,0.77469569,-41.560819,-14.419746)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient1505-1"
+       xlink:href="#linearGradient1183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1183">
+      <stop
+         id="stop1179"
+         offset="0"
+         style="stop-color:#deddda;stop-opacity:1" />
+      <stop
+         id="stop1181"
+         offset="1"
+         style="stop-color:#77767b;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1799"
+       id="linearGradient8424"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="rotate(60,83.052899,209.00011)"
+       x1="60.999699"
+       y1="220"
+       x2="67.000298"
+       y2="220" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5442"
+       id="linearGradient143387"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="rotate(60,83.052899,209.00012)"
+       x1="60.999699"
+       y1="220"
+       x2="67.000298"
+       y2="220" />
+  </defs>
+  <sodipodi:namedview
+     stroke="#ef2929"
+     fill="#f57900"
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.25490196"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="6.3958359"
+     inkscape:cx="55.504864"
+     inkscape:cy="107.25729"
+     inkscape:current-layer="layer9"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1016"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     width="400px"
+     height="300px"
+     inkscape:snap-nodes="true"
+     inkscape:snap-bbox="true"
+     objecttolerance="7"
+     gridtolerance="12"
+     guidetolerance="13"
+     inkscape:window-maximized="1"
+     inkscape:pagecheckerboard="false"
+     showguides="false"
+     inkscape:guide-bbox="true"
+     inkscape:locked="false"
+     inkscape:measure-start="0,0"
+     inkscape:measure-end="0,0"
+     inkscape:object-nodes="true"
+     inkscape:bbox-nodes="true"
+     inkscape:snap-global="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="true"
+     showborder="true"
+     inkscape:snap-center="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-midpoints="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:snap-text-baseline="true"
+     borderlayer="true"
+     inkscape:deskcolor="#d1d1d1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid5883"
+       spacingx="2"
+       spacingy="2"
+       enabled="true"
+       visible="true"
+       empspacing="4"
+       originx="8"
+       originy="8" />
+    <sodipodi:guide
+       position="72,16"
+       orientation="0,1"
+       id="guide1073"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="20,72"
+       orientation="1,0"
+       id="guide1075"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,112"
+       orientation="0,1"
+       id="guide1099"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,136"
+       orientation="0,1"
+       id="guide993"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="112,72"
+       orientation="1,0"
+       id="guide995"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="8.0000001,72"
+       orientation="1,0"
+       id="guide867"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="128,72"
+       orientation="1,0"
+       id="guide869"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,124"
+       orientation="0,1"
+       id="guide871"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <inkscape:grid
+       type="xygrid"
+       id="grid873"
+       spacingx="1"
+       spacingy="1"
+       empspacing="8"
+       color="#000000"
+       opacity="0.49019608"
+       empcolor="#000000"
+       empopacity="0.08627451"
+       dotted="true"
+       originx="8"
+       originy="8" />
+    <sodipodi:guide
+       position="32,72"
+       orientation="1,0"
+       id="guide877"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="124,72"
+       orientation="1,0"
+       id="guide879"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,128"
+       orientation="0,1"
+       id="guide881"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,20"
+       orientation="0,1"
+       id="guide883"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="16,72"
+       orientation="1,0"
+       id="guide885"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="136,72"
+       orientation="1,0"
+       id="guide887"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,8"
+       orientation="0,1"
+       id="guide897"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,32"
+       orientation="0,1"
+       id="guide899"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="264,264"
+       orientation="-0.70710678,0.70710678"
+       id="guide950"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="72,72"
+       orientation="0.70710678,0.70710678"
+       id="guide952"
+       inkscape:locked="false"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>GNOME Design Team</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"; />
+        <dc:title>Adwaita Icon Template</dc:title>
+        <dc:subject>
+          <rdf:Bag />
+        </dc:subject>
+        <dc:date />
+        <dc:rights>
+          <cc:Agent>
+            <dc:title />
+          </cc:Agent>
+        </dc:rights>
+        <dc:publisher>
+          <cc:Agent>
+            <dc:title />
+          </cc:Agent>
+        </dc:publisher>
+        <dc:identifier />
+        <dc:relation />
+        <dc:language />
+        <dc:coverage />
+        <dc:description />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title />
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/4.0/";>
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction"; />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution"; />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice"; />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution"; />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks"; />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike"; />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="App Icon"
+     inkscape:groupmode="layer"
+     style="display:inline"
+     transform="translate(8,-156)">
+    <g
+       inkscape:groupmode="layer"
+       id="layer4"
+       inkscape:label="template"
+       style="display:inline"
+       sodipodi:insensitive="true">
+      <rect
+         inkscape:label="0"
+         y="172"
+         x="9.2651362e-08"
+         height="128"
+         width="128"
+         id="hicolor"
+         
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+      <rect
+         
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
+         id="symbolic"
+         width="16"
+         height="16"
+         x="160"
+         y="172"
+         inkscape:label="0" />
+    </g>
+    <g
+       inkscape:groupmode="layer"
+       id="layer2"
+       inkscape:label="baseplate"
+       style="display:inline"
+       sodipodi:insensitive="true">
+      <g
+         id="g1481"
+         transform="translate(0,168)">
+        <g
+           id="g1430"
+           transform="translate(-502.58934,-158.75232)">
+          <rect
+             inkscape:label="512x512"
+             y="330.75232"
+             x="4.5893426"
+             height="128"
+             width="128"
+             id="rect1418"
+             
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+          <circle
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="circle1420"
+             r="59.504131"
+             cy="394.75232"
+             cx="68.589371" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1422"
+             width="87.009987"
+             height="111.01005"
+             x="25.084349"
+             y="339.24728"
+             rx="8.701004"
+             ry="7.9292889" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1424"
+             width="103.00952"
+             height="103.00952"
+             x="17.084608"
+             y="343.24756"
+             rx="7.9238095"
+             ry="7.9238095" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1426"
+             width="111.01004"
+             height="87.010048"
+             x="13.08435"
+             y="359.24728"
+             rx="7.9292889"
+             ry="8.701005" />
+          <path
+             
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+             d="M 4.5893689,447.7523 H 132.58937"
+             id="path1428"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           transform="translate(-358.58936,-158.75232)"
+           id="g1444">
+          <rect
+             
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
+             id="rect1432"
+             width="128"
+             height="128"
+             x="4.5893426"
+             y="330.75232"
+             inkscape:label="512x512" />
+          <circle
+             cx="68.589371"
+             cy="394.75232"
+             r="59.504131"
+             id="circle1434"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="7.9292889"
+             rx="8.701004"
+             y="339.24728"
+             x="25.084349"
+             height="111.01005"
+             width="87.009987"
+             id="rect1436"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="7.9238095"
+             rx="7.9238095"
+             y="343.24756"
+             x="17.084608"
+             height="103.00952"
+             width="103.00952"
+             id="rect1438"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="8.701005"
+             rx="7.9292889"
+             y="359.24728"
+             x="13.08435"
+             height="87.010048"
+             width="111.01004"
+             id="rect1440"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <path
+             inkscape:connector-curvature="0"
+             id="path1442"
+             d="M 4.5893689,447.7523 H 132.58937"
+             
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        </g>
+        <g
+           id="g1458"
+           transform="translate(-214.58936,-158.75232)">
+          <rect
+             inkscape:label="512x512"
+             y="330.75232"
+             x="4.5893426"
+             height="128"
+             width="128"
+             id="rect1446"
+             
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+          <circle
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="circle1448"
+             r="59.504131"
+             cy="394.75232"
+             cx="68.589371" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1450"
+             width="87.009987"
+             height="111.01005"
+             x="25.084349"
+             y="339.24728"
+             rx="8.701004"
+             ry="7.9292889" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1452"
+             width="103.00952"
+             height="103.00952"
+             x="17.084608"
+             y="343.24756"
+             rx="7.9238095"
+             ry="7.9238095" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1454"
+             width="111.01004"
+             height="87.010048"
+             x="13.08435"
+             y="359.24728"
+             rx="7.9292889"
+             ry="8.701005" />
+          <path
+             
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+             d="M 4.5893689,447.7523 H 132.58937"
+             id="path1456"
+             inkscape:connector-curvature="0" />
+        </g>
+      </g>
+      <g
+         style="display:inline;fill:#000000;enable-background:new"
+         transform="matrix(7.9911709,0,0,8.0036407,-167.7909,-4846.0776)"
+         id="g12027"
+         inkscape:export-xdpi="12"
+         inkscape:export-ydpi="12" />
+      <rect
+         
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
+         id="128"
+         width="128"
+         height="128"
+         x="9.2651362e-08"
+         y="172"
+         inkscape:label="0" />
+      <g
+         id="g883"
+         style="fill:none;fill-opacity:0.25098039;stroke:#a579b3;stroke-opacity:1"
+         transform="translate(-24,24)" />
+      <g
+         id="g900"
+         style="fill:none;fill-opacity:0.25098039;stroke:#a579b3;stroke-opacity:1"
+         transform="translate(-24,24)" />
+      <rect
+         inkscape:label=""
+         y="172"
+         x="160"
+         height="16"
+         width="16"
+         id="16"
+         
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:'Cantarell,
 
Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.332649;enable-background:new"
+         x="0"
+         y="167"
+         id="text863"
+         inkscape:label="icon-name"><tspan
+           style="font-size:4px;stroke-width:0.332649"
+           sodipodi:role="line"
+           id="tspan861"
+           x="0"
+           y="167">Hicolor</tspan></text>
+      <text
+         inkscape:label="icon-name"
+         id="text867"
+         y="167"
+         x="160"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:'Cantarell,
 
Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.332649;enable-background:new"
+         xml:space="preserve"><tspan
+           y="167"
+           x="160"
+           id="tspan865"
+           sodipodi:role="line"
+           style="font-size:4px;stroke-width:0.332649">Symbolic</tspan></text>
+      <g
+         id="g1318"
+         transform="translate(-502.58934,-158.75232)">
+        <rect
+           inkscape:label="512x512"
+           y="330.75232"
+           x="4.5893426"
+           height="128"
+           width="128"
+           id="rect13805-6"
+           
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+        <circle
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="circle2892-2"
+           r="59.504131"
+           cy="394.75232"
+           cx="68.589371" />
+        <rect
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect2894-9"
+           width="87.009987"
+           height="111.01005"
+           x="25.084349"
+           y="339.24728"
+           rx="8.701004"
+           ry="7.9292889" />
+        <rect
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect2896-1"
+           width="103.00952"
+           height="103.00952"
+           x="17.084608"
+           y="343.24756"
+           rx="7.9238095"
+           ry="7.9238095" />
+        <rect
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect2898-2"
+           width="111.01004"
+           height="87.010048"
+           x="13.08435"
+           y="359.24728"
+           rx="7.9292889"
+           ry="8.701005" />
+        <path
+           
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+           d="M 4.5893689,447.7523 H 132.58937"
+           id="path2900-7"
+           inkscape:connector-curvature="0" />
+      </g>
+      <g
+         transform="translate(-358.58936,-158.75232)"
+         id="g1332">
+        <rect
+           
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
+           id="rect1320"
+           width="128"
+           height="128"
+           x="4.5893426"
+           y="330.75232"
+           inkscape:label="512x512" />
+        <circle
+           cx="68.589371"
+           cy="394.75232"
+           r="59.504131"
+           id="circle1322"
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           ry="7.9292889"
+           rx="8.701004"
+           y="339.24728"
+           x="25.084349"
+           height="111.01005"
+           width="87.009987"
+           id="rect1324"
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           ry="7.9238095"
+           rx="7.9238095"
+           y="343.24756"
+           x="17.084608"
+           height="103.00952"
+           width="103.00952"
+           id="rect1326"
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           ry="8.701005"
+           rx="7.9292889"
+           y="359.24728"
+           x="13.08435"
+           height="87.010048"
+           width="111.01004"
+           id="rect1328"
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <path
+           inkscape:connector-curvature="0"
+           id="path1330"
+           d="M 4.5893689,447.7523 H 132.58937"
+           
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+      </g>
+      <g
+         id="g1346"
+         transform="translate(-214.58936,-158.75232)">
+        <rect
+           inkscape:label="512x512"
+           y="330.75232"
+           x="4.5893426"
+           height="128"
+           width="128"
+           id="rect1334"
+           
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+        <circle
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="circle1336"
+           r="59.504131"
+           cy="394.75232"
+           cx="68.589371" />
+        <rect
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1338"
+           width="87.009987"
+           height="111.01005"
+           x="25.084349"
+           y="339.24728"
+           rx="8.701004"
+           ry="7.9292889" />
+        <rect
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1340"
+           width="103.00952"
+           height="103.00952"
+           x="17.084608"
+           y="343.24756"
+           rx="7.9238095"
+           ry="7.9238095" />
+        <rect
+           
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1342"
+           width="111.01004"
+           height="87.010048"
+           x="13.08435"
+           y="359.24728"
+           rx="7.9292889"
+           ry="8.701005" />
+        <path
+           
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+           d="M 4.5893689,447.7523 H 132.58937"
+           id="path1344"
+           inkscape:connector-curvature="0" />
+      </g>
+      <g
+         transform="translate(0,312)"
+         id="g1525">
+        <g
+           transform="translate(-502.58934,-158.75232)"
+           id="g1495">
+          <rect
+             
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
+             id="rect1483"
+             width="128"
+             height="128"
+             x="4.5893426"
+             y="330.75232"
+             inkscape:label="512x512" />
+          <circle
+             cx="68.589371"
+             cy="394.75232"
+             r="59.504131"
+             id="circle1485"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="7.9292889"
+             rx="8.701004"
+             y="339.24728"
+             x="25.084349"
+             height="111.01005"
+             width="87.009987"
+             id="rect1487"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="7.9238095"
+             rx="7.9238095"
+             y="343.24756"
+             x="17.084608"
+             height="103.00952"
+             width="103.00952"
+             id="rect1489"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="8.701005"
+             rx="7.9292889"
+             y="359.24728"
+             x="13.08435"
+             height="87.010048"
+             width="111.01004"
+             id="rect1491"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <path
+             inkscape:connector-curvature="0"
+             id="path1493"
+             d="M 4.5893689,447.7523 H 132.58937"
+             
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        </g>
+        <g
+           id="g1509"
+           transform="translate(-358.58936,-158.75232)">
+          <rect
+             inkscape:label="512x512"
+             y="330.75232"
+             x="4.5893426"
+             height="128"
+             width="128"
+             id="rect1497"
+             
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
 />
+          <circle
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="circle1499"
+             r="59.504131"
+             cy="394.75232"
+             cx="68.589371" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1501"
+             width="87.009987"
+             height="111.01005"
+             x="25.084349"
+             y="339.24728"
+             rx="8.701004"
+             ry="7.9292889" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1503"
+             width="103.00952"
+             height="103.00952"
+             x="17.084608"
+             y="343.24756"
+             rx="7.9238095"
+             ry="7.9238095" />
+          <rect
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1505"
+             width="111.01004"
+             height="87.010048"
+             x="13.08435"
+             y="359.24728"
+             rx="7.9292889"
+             ry="8.701005" />
+          <path
+             
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+             d="M 4.5893689,447.7523 H 132.58937"
+             id="path1507"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           transform="translate(-214.58936,-158.75232)"
+           id="g1523">
+          <rect
+             
style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"
+             id="rect1511"
+             width="128"
+             height="128"
+             x="4.5893426"
+             y="330.75232"
+             inkscape:label="512x512" />
+          <circle
+             cx="68.589371"
+             cy="394.75232"
+             r="59.504131"
+             id="circle1513"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="7.9292889"
+             rx="8.701004"
+             y="339.24728"
+             x="25.084349"
+             height="111.01005"
+             width="87.009987"
+             id="rect1515"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="7.9238095"
+             rx="7.9238095"
+             y="343.24756"
+             x="17.084608"
+             height="103.00952"
+             width="103.00952"
+             id="rect1517"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <rect
+             ry="8.701005"
+             rx="7.9292889"
+             y="359.24728"
+             x="13.08435"
+             height="87.010048"
+             width="111.01004"
+             id="rect1519"
+             
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <path
+             inkscape:connector-curvature="0"
+             id="path1521"
+             d="M 4.5893689,447.7523 H 132.58937"
+             
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        </g>
+      </g>
+    </g>
+    <g
+       inkscape:groupmode="layer"
+       id="layer9"
+       inkscape:label="icons"
+       style="display:inline">
+      <g
+         style="display:inline;enable-background:new"
+         id="g1064"
+         transform="translate(92.457943,4.92209)">
+        <rect
+           ry="8"
+           rx="7.9999995"
+           y="207.07791"
+           x="-438.45795"
+           height="76"
+           width="112.00001"
+           id="rect884"
+           
style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient914);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect886"
+           width="112.00001"
+           height="84"
+           x="-438.45795"
+           y="195.07791"
+           rx="7.9999995"
+           ry="8" />
+      </g>
+      <g
+         style="display:inline;enable-background:new"
+         id="g1096"
+         transform="translate(158)">
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1064);fill-opacity:1;stroke:none;stroke-width:0.24999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1048"
+           width="104"
+           height="100"
+           x="-356"
+           y="188"
+           rx="7.999999"
+           ry="8" />
+        <rect
+           ry="8"
+           rx="7.9999986"
+           y="184"
+           x="-356"
+           height="99.999992"
+           width="104"
+           id="rect929-36-9"
+           
style="display:inline;opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:0.24999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      </g>
+      <g
+         style="display:inline;enable-background:new"
+         id="g1138"
+         transform="translate(-130.00003)">
+        <rect
+           ry="8"
+           rx="7.999999"
+           y="188"
+           x="-347.99994"
+           height="104"
+           width="87.999878"
+           id="rect1134"
+           
style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1140);fill-opacity:1;stroke:none;stroke-width:0.24999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:0.24999996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1136"
+           width="88"
+           height="107.99999"
+           x="-347.99997"
+           y="180"
+           rx="7.9999967"
+           ry="8" />
+      </g>
+      <g
+         style="display:inline;enable-background:new"
+         id="g1278"
+         transform="translate(184.01133,-10.5513)">
+        <path
+           inkscape:connector-curvature="0"
+           id="path945"
+           d="m -558.01133,415.5513 a 59.999995,59.999995 0 0 1 -59.99999,60 59.999995,59.999995 0 0 1 
-60,-60 59.999995,59.999995 0 0 1 60,-59.99999 59.999995,59.999995 0 0 1 59.99999,59.99999 z"
+           
style="display:inline;opacity:1;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:0.01129822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           
style="display:inline;opacity:1;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:0.01129822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect978"
+           width="112"
+           height="114"
+           x="-674.01123"
+           y="357.5513"
+           rx="56"
+           ry="56" />
+        <path
+           
style="display:inline;opacity:1;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:0.01129822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           d="m -558.01133,413.5513 a 59.999995,59.999995 0 0 1 -59.99999,59.99999 59.999995,59.999995 0 0 1 
-60,-59.99999 59.999995,59.999995 0 0 1 60,-60 59.999995,59.999995 0 0 1 59.99999,60 z"
+           id="path981"
+           inkscape:connector-curvature="0" />
+        <circle
+           r="54"
+           
style="display:inline;opacity:1;fill:#424048;fill-opacity:1;stroke:none;stroke-width:0.01129822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="circle983"
+           cx="-618.01129"
+           cy="413.5513" />
+        <path
+           inkscape:connector-curvature="0"
+           id="path928"
+           d="m -591.9764,386.54325 a 1.0016649,1.0016649 0 0 0 -0.77686,0.33008 l -21.97461,23.66504 a 
5.9999995,5.9999995 0 0 0 -5.58203,-0.52246 l -14.2207,-15.80079 a 2.0033298,2.0033298 0 0 0 
-1.60352,-0.68212 2.0033298,2.0033298 0 0 0 -1.37402,3.36181 l 14.21924,15.79932 a 5.9999995,5.9999995 0 0 0 
-0.20997,5.30517 5.9999995,5.9999995 0 0 0 2.4043,2.69922 l -11.8584,30.49366 a 1.0016649,1.0016649 0 1 0 
1.86719,0.72558 l 11.85742,-30.49121 a 5.9999995,5.9999995 0 0 0 3.65332,-0.39209 5.9999995,5.9999995 0 0 0 
3.03516,-7.92383 5.9999995,5.9999995 0 0 0 -0.7251,-1.2041 l 21.9795,-23.66992 a 1.0016649,1.0016649 0 0 0 
-0.69092,-1.69336 z"
+           
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.00625896;stro
 
ke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
 />
+        <path
+           
style="display:inline;fill:none;fill-rule:evenodd;stroke:url(#linearGradient1001);stroke-width:4.00625896;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           d="m -618.01122,413.5513 -18,-20"
+           id="path987"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           inkscape:connector-curvature="0"
+           id="path989"
+           d="m -618.01122,413.5513 26.00001,-28"
+           
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.00312948;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           inkscape:transform-center-y="1.7677675"
+           sodipodi:nodetypes="cc"
+           inkscape:transform-center-x="-1.7677635" />
+        <path
+           inkscape:transform-center-x="-1.767762"
+           sodipodi:nodetypes="cc"
+           inkscape:transform-center-y="1.7677675"
+           
style="display:inline;fill:none;fill-rule:evenodd;stroke:#e01b24;stroke-width:2.00312948;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           d="m -618.01122,413.5513 -14,36"
+           id="path991"
+           inkscape:connector-curvature="0" />
+        <circle
+           r="5.9999995"
+           cy="125.93015"
+           cx="-732.8739"
+           id="circle993"
+           
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#d5d3cf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.77220678;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           transform="rotate(-24.039088)" />
+        <circle
+           r="2.0031295"
+           
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#131c1a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.01251698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           id="circle995"
+           cx="-617.98218"
+           cy="413.5513" />
+        <circle
+           r="2"
+           cy="413.5513"
+           cx="-617.98218"
+           id="circle997"
+           
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#131c1a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.01251698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+        <path
+           inkscape:connector-curvature="0"
+           id="circle1003-6"
+           d="m -618.01122,359.5513 a 54,54 0 0 0 -54,54 54,54 0 0 0 0.0415,1.1709 54,54 0 0 1 
53.9585,-53.1709 54,54 0 0 1 53.9585,52.82813 54,54 0 0 0 0.0415,-0.82813 54,54 0 0 0 -54.00001,-54 z"
+           
style="display:inline;opacity:0.1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.01129822px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      </g>
+      <g
+         style="display:inline;enable-background:new"
+         id="g1365"
+         transform="translate(339.32504,14.55099)">
+        <path
+           sodipodi:nodetypes="cccsscc"
+           inkscape:connector-curvature="0"
+           id="rect970"
+           d="m -681.32504,357.44901 v 84 h 96 c 4.432,0 8,-3.568 8,-8 v -68 c 0,-4.432 -3.568,-8 -8,-8 z"
+           
style="display:inline;opacity:1;fill:#813d9c;fill-opacity:1;stroke:none;stroke-width:0.37684458;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        <path
+           
style="display:inline;opacity:1;fill:url(#linearGradient1053);fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           d="m -679.32503,369.44901 v 70 h 93.99999 c 4.432,0 8,-3.568 8,-8 v -54 c 0,-4.432 -3.568,-8 
-8,-8 z"
+           id="rect954-3-6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccsscc" />
+        <path
+           sodipodi:nodetypes="cccsscc"
+           inkscape:connector-curvature="0"
+           id="rect970-5-3"
+           d="m -681.32504,339.44901 v 94 h 96 c 4.432,0 8,-3.568 8,-8 v -78 c 0,-4.432 -3.568,-8 -8,-8 z"
+           
style="display:inline;opacity:1;fill:#813d9c;fill-opacity:1;stroke:none;stroke-width:0.37684458;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        <path
+           sodipodi:nodetypes="cccsscc"
+           inkscape:connector-curvature="0"
+           id="rect970-5"
+           d="m -681.32504,337.44901 v 94 h 96 c 4.432,0 8,-3.568 8,-8 v -78 c 0,-4.432 -3.568,-8 -8,-8 z"
+           
style="display:inline;opacity:1;fill:url(#linearGradient990);fill-opacity:1;stroke:none;stroke-width:0.37684458;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        <g
+           transform="matrix(0.140625,0,0,0.140625,-722.55795,165.74946)"
+           aria-label="a"
+           
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:322.10223389px;line-height:1.25;font-family:Montserrat;-inkscape-font-specification:'Montserrat,
 
Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#813d9c;fill-opacity:1;stroke:none;stroke-width:1;enable-background:new"
+           id="g1059">
+          <path
+             sodipodi:nodetypes="sccscssscccssscsccscc"
+             inkscape:connector-curvature="0"
+             d="m 812.20261,1309.7929 c -27.70079,0 -55.72369,7.4083 -74.72772,20.9366 l 18.03773,35.1092 c 
12.56198,-9.9852 31.56602,-16.1051 49.92584,-16.1051 27.05659,0 42.19199,14.4169 42.19199,35.9977 l 
-50.00981,-0.2354 c -52.82417,-0.2486 -74.40225,26.624 -74.40225,57.2238 0,29.9555 22.04572,51.6578 
62.6306,51.6578 25.44607,0 52.4405,-7.5298 61.78146,-23.3128 l 0.003,21.3432 53.33034,-0.01 -0.006,-104.013 c 
-0.003,-52.5026 -35.93005,-78.5921 -88.75482,-78.5921 z m -11.67969,151.6087 c -17.71562,0 -28.34499,-8.3747 
-28.34499,-20.9367 0,-11.5956 7.40547,-23.1197 30.91845,-22.9689 l 44.53407,0.2354 0.003,16.1495 c 
0.003,16.8142 -30.36157,27.5207 -47.11089,27.5207 z"
+             style="fill:#813d9c;stroke-width:1"
+             id="path1057" />
+        </g>
+        <g
+           aria-label="a"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1000%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#813d9c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           id="g1063"
+           transform="translate(-690.63092,149.52514)">
+          <path
+             d="m 55.305889,221.92387 c -0.944974,0.77446 -1.612023,1.05106 -2.445832,1.05106 -1.278503,0 
-1.667605,-0.77447 -1.667605,-3.20851 v -10.78724 c 0,-2.8766 -0.277936,-4.48085 -1.111745,-5.80851 
-1.22291,-1.99149 -4.573306,-3.04255 -7.852936,-3.04255 -5.225182,0 -9.33863,2.71064 -9.33863,6.19575 
0,1.27234 1.056163,2.37871 2.39025,2.37871 1.334086,0 2.501413,-1.10637 2.501413,-2.3234 0,-0.22127 
-0.05563,-0.49787 -0.111176,-0.8851 -0.111177,-0.49787 -0.16676,-0.94042 -0.16676,-1.32766 0,-1.49362 
1.778783,-2.71064 4.002271,-2.71064 2.723757,0 4.672684,1.60425 4.672684,4.59149 v 4.39862 c 
-7.655771,2.24877 -9.953459,2.84819 -12.343697,4.95032 -1.22292,1.10637 -2.001135,2.98723 -2.001135,4.81276 
0,3.48511 2.445832,5.91915 5.836637,5.91915 2.445831,0 5.172972,-1.1617 8.563777,-4.0383 0.277937,2.93191 
1.790584,4.0383 4.069655,4.0383 1.889959,0 3.057287,-0.66383 5.002829,-2.76596 z m -9.128066,-3.1532 c 
0,1.65958 -0.277936,2.26809 -1.445263,2.93191 -1.389682,0.77448 -3.338597,1.2
 1703 -4.505924,1.21703 -1.945553,0 -3.501982,-1.88085 -3.501982,-4.25958 v -0.22127 c 0.05563,-3.31915 
2.949483,-4.39712 9.453169,-6.6652 z"
+             
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Nimbus 
Roman';-inkscape-font-specification:'Nimbus Roman, ';fill:#813d9c;stroke-width:1.38632321px"
+             id="path1061"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cssscsssscsssccsscsccscssccs" />
+        </g>
+        <path
+           
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:1000%;font-family:Satisfy;-inkscape-font-specification:Satisfy;letter-spacing:0px;word-spacing:0px;display:inline;fill:#813d9c;fill-opacity:1;stroke:none;stroke-width:1.52590454px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           d="m -607.01212,390.12301 c -0.91395,-0.0795 -2.06633,0.23842 -3.45713,0.95369 -1.3908,0.71527 
-2.80146,1.78817 -4.232,3.21871 -1.43053,1.3908 -2.76173,3.07963 -3.99358,5.06648 -1.19211,1.98686 
-2.06633,4.19227 -2.62265,6.61623 -0.4371,1.78817 -0.59605,3.33791 -0.47684,4.64924 0.11921,1.27158 
0.39737,2.32462 0.83448,3.15909 0.43711,0.79475 0.97356,1.37094 1.60935,1.72857 0.63579,0.39738 
1.23185,0.59606 1.78817,0.59606 1.19211,-0.0795 2.38423,-0.33776 3.57634,-0.77488 1.03316,-0.39736 
2.12593,-1.01329 3.27831,-1.84777 1.15238,-0.87422 2.20541,-2.10606 3.1591,-3.69555 -0.0397,1.0729 
0.0199,1.96699 0.17882,2.68225 0.19868,0.71527 0.39737,1.29143 0.59605,1.72857 0.23842,0.51658 
0.53645,0.91394 0.89409,1.19211 0.35763,0.23845 0.77487,0.3974 1.25172,0.47685 0.47684,0.11922 
0.97355,0.15898 1.49014,0.11921 0.55631,-0.0398 1.09277,-0.13908 1.60934,-0.29804 0.51659,-0.15894 
0.97357,-0.35763 1.37094,-0.59605 0.59606,-0.39736 1.33119,-1.0729 2.20541,-2.02659 0.91395,-0.99342 1.8279,-
 2.06632 2.74187,-3.21871 0.95369,-1.19211 1.86764,-2.36436 2.74185,-3.51673 0.87421,-1.19211 
1.58947,-2.18554 2.14579,-2.98028 0.47687,-0.63579 0.75503,-1.19211 0.83449,-1.66897 0.11917,-0.47683 
0.0993,-0.83448 -0.0596,-1.0729 -0.15895,-0.23839 -0.39737,-0.31787 -0.71528,-0.23842 -0.31789,0.0398 
-0.63578,0.23844 -0.95369,0.59607 -0.23843,0.31789 -0.63578,0.81461 -1.1921,1.49013 -0.51659,0.67554 
-1.11264,1.45041 -1.78817,2.32463 -0.67553,0.87421 -1.41066,1.78817 -2.20541,2.74186 -0.755,0.91394 
-1.49014,1.7683 -2.2054,2.56303 -0.71527,0.75501 -1.39081,1.39081 -2.0266,1.90738 -0.63579,0.47685 
-1.15238,0.71527 -1.54974,0.71527 -0.47685,0 -0.85435,-0.0993 -1.13251,-0.29802 -0.23843,-0.23842 
-0.41724,-0.53645 -0.53645,-0.89409 -0.11922,-0.35763 -0.19869,-0.73514 -0.23843,-1.1325 0,-0.43712 
0.0199,-0.83448 0.0596,-1.19212 0.11921,-0.59605 0.21856,-1.09276 0.29803,-1.49014 0.0795,-0.39736 
0.13909,-0.73514 0.17882,-1.01329 0.0795,-0.31791 0.13909,-0.61593 0.17882,-0.89409 0.0794,-0.31789 0.1
 5894,-0.65566 0.23842,-1.01329 0.39737,-1.82791 0.71527,-3.31805 0.95369,-4.47043 0.23842,-1.15237 
0.41724,-2.06633 0.53645,-2.74186 0.11922,-0.67552 0.17882,-1.13251 0.17882,-1.37093 0,-0.27819 
-0.0198,-0.457 -0.0596,-0.53645 -0.0795,-0.0398 -0.23842,-0.0596 -0.47684,-0.0596 -0.19868,0 -0.4967,0.0198 
-0.89408,0.0596 -0.35763,0.0398 -0.81461,0.11921 -1.37093,0.23842 0.83448,-1.27159 1.15238,-2.28488 
0.95369,-3.03989 -0.15895,-0.79474 -0.51658,-1.3908 -1.07291,-1.78817 -0.67552,-0.4371 -1.54974,-0.75501 
-2.62264,-0.95369 z m -1.40371,3.72833 c 0.15149,0.008 0.28114,0.0567 0.39041,0.14604 0.11922,0.15896 
0.19869,0.37751 0.23843,0.65566 0.0397,0.23842 0.0199,0.57618 -0.0596,1.0133 -0.0397,0.39736 -0.21856,0.91395 
-0.53645,1.54975 0.31789,-0.0794 0.63579,-0.13905 0.95369,-0.17882 0.31789,-0.0398 0.57618,-0.0993 
0.77487,-0.17882 0.23842,-0.0794 0.45697,-0.13904 0.65566,-0.17882 0.15895,-0.0397 0.17882,0.27817 
0.0596,0.95369 -0.0795,0.6358 -0.21855,1.45041 -0.41724,2.44384 -0.19869,0.9934
 4 -0.43711,2.0266 -0.71527,3.09949 -0.27816,1.0729 -0.51658,2.00672 -0.71526,2.80147 -0.0397,0.19868 
-0.21856,0.51657 -0.53645,0.95369 -0.27816,0.43711 -0.65567,0.91395 -1.13251,1.43053 -0.43711,0.51658 
-0.95369,1.0133 -1.54975,1.49014 -0.55632,0.47685 -1.13251,0.87422 -1.72856,1.19211 -0.55632,0.27813 
-1.11264,0.43707 -1.66896,0.47685 -0.55632,0 -1.05303,-0.21856 -1.49014,-0.65566 -0.23842,-0.23843 
-0.39737,-0.73513 -0.47685,-1.49014 -0.0795,-0.79474 -0.0596,-1.70871 0.0596,-2.74186 0.15895,-1.03317 
0.41724,-2.12594 0.77488,-3.27831 0.35763,-1.19211 0.83448,-2.30475 1.43053,-3.33791 1.43054,-2.50345 
2.68226,-4.21214 3.75516,-5.1261 0.83448,-0.71526 1.47971,-1.06246 1.9342,-1.04012 z"
+           id="path1065"
+           inkscape:connector-curvature="0" />
+        <g
+           transform="translate(-691.52809,151.52514)"
+           id="g1069"
+           style="display:inline;fill:#813d9c;enable-background:new">
+          <path
+             sodipodi:nodetypes="cccccccccsccsscccccccccccscccccccscs"
+             inkscape:connector-curvature="0"
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#813d9c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-wi
 
dth:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             d="m 37,68 c -2.704645,-0.03825 -2.704645,4.03825 0,4 h 9.880859 c 0.01107,0.001 
0.285634,0.0327 0.585938,0.197266 0.306304,0.16789 0.485897,0.188343 0.537109,0.939453 v -0.01953 L 
48.25,78.310547 C 47.789324,78.134111 47.480469,78.058594 47.480469,78.058594 L 47.244141,78 H 38 c 
-4.333333,0 -5.896484,4.367188 -5.896484,4.367188 L 32,82.675781 V 85 c 0,3.03333 1.431289,5.127712 
2.939453,6.070312 C 36.447617,92.012912 38,92 38,92 h 7.591797 l 3.392578,-2.203125 0.01953,0.320313 c 
0.08969,2.735348 4.223189,2.492675 3.992188,-0.234376 l -1,-17.009765 v -0.0098 c -0.140818,-2.06533 
-1.461734,-3.545828 -2.607422,-4.173828 -1.145688,-0.62799 -2.257813,-0.685547 -2.257813,-0.685547 L 
47.064453,68 Z m 1,14 h 8.644531 c 0.106906,0.0312 0.525263,0.141312 1.03711,0.482422 0.558515,0.372213 
0.877827,0.68942 0.894531,1.355469 L 48.714844,85.201172 44.408203,88 H 38 C 38,88 37.552383,87.9871 
37.060547,87.679688 36.568711,87.372288 36,86.96667 36,85 V 83.435547 C 36.102847,83.130577 3
 6.534758,82 38,82 Z"
+             transform="translate(0,172)"
+             id="path1067" />
+        </g>
+        <rect
+           y="337.44901"
+           x="-681.32501"
+           height="94"
+           width="8"
+           id="rect1073"
+           
style="display:inline;opacity:1;fill:#3d3846;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
 />
+        <g
+           id="g985"
+           
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:322.10223389px;line-height:1.25;font-family:Montserrat;-inkscape-font-specification:'Montserrat,
 
Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;enable-background:new"
+           aria-label="a"
+           transform="matrix(0.140625,0,0,0.140625,-722.55795,167.74946)">
+          <path
+             id="path983"
+             style="fill:#ffffff;stroke-width:1"
+             d="m 812.20261,1309.7929 c -27.70079,0 -55.72369,7.4083 -74.72772,20.9366 l 18.03773,35.1092 c 
12.56198,-9.9852 31.56602,-16.1051 49.92584,-16.1051 27.05659,0 42.19199,14.4169 42.19199,35.9977 l 
-50.00981,-0.2354 c -52.82417,-0.2486 -74.40225,26.624 -74.40225,57.2238 0,29.9555 22.04572,51.6578 
62.6306,51.6578 25.44607,0 52.4405,-7.5298 61.78146,-23.3128 l 0.003,21.3432 53.33034,-0.01 -0.006,-104.013 c 
-0.003,-52.5026 -35.93005,-78.5921 -88.75482,-78.5921 z m -11.67969,151.6087 c -17.71562,0 -28.34499,-8.3747 
-28.34499,-20.9367 0,-11.5956 7.40547,-23.1197 30.91845,-22.9689 l 44.53407,0.2354 0.003,16.1495 c 
0.003,16.8142 -30.36157,27.5207 -47.11089,27.5207 z"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="sccscssscccssscsccscc" />
+        </g>
+        <g
+           transform="translate(-690.63092,151.52514)"
+           id="text993"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1000%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           aria-label="a">
+          <path
+             sodipodi:nodetypes="cssscsssscsssccsscsccscssccs"
+             inkscape:connector-curvature="0"
+             id="path995"
+             
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Nimbus 
Roman';-inkscape-font-specification:'Nimbus Roman, ';fill:#ffffff;stroke-width:1.38632321px"
+             d="m 55.305889,221.92387 c -0.944974,0.77446 -1.612023,1.05106 -2.445832,1.05106 -1.278503,0 
-1.667605,-0.77447 -1.667605,-3.20851 v -10.78724 c 0,-2.8766 -0.277936,-4.48085 -1.111745,-5.80851 
-1.22291,-1.99149 -4.573306,-3.04255 -7.852936,-3.04255 -5.225182,0 -9.33863,2.71064 -9.33863,6.19575 
0,1.27234 1.056163,2.37871 2.39025,2.37871 1.334086,0 2.501413,-1.10637 2.501413,-2.3234 0,-0.22127 
-0.05563,-0.49787 -0.111176,-0.8851 -0.111177,-0.49787 -0.16676,-0.94042 -0.16676,-1.32766 0,-1.49362 
1.778783,-2.71064 4.002271,-2.71064 2.723757,0 4.672684,1.60425 4.672684,4.59149 v 4.39862 c 
-7.655771,2.24877 -9.953459,2.84819 -12.343697,4.95032 -1.22292,1.10637 -2.001135,2.98723 -2.001135,4.81276 
0,3.48511 2.445832,5.91915 5.836637,5.91915 2.445831,0 5.172972,-1.1617 8.563777,-4.0383 0.277937,2.93191 
1.790584,4.0383 4.069655,4.0383 1.889959,0 3.057287,-0.66383 5.002829,-2.76596 z m -9.128066,-3.1532 c 
0,1.65958 -0.277936,2.26809 -1.445263,2.93191 -1.389682,0.77448 -3.338597,1.2
 1703 -4.505924,1.21703 -1.945553,0 -3.501982,-1.88085 -3.501982,-4.25958 v -0.22127 c 0.05563,-3.31915 
2.949483,-4.39712 9.453169,-6.6652 z" />
+        </g>
+        <path
+           inkscape:connector-curvature="0"
+           id="path1011"
+           d="m -607.01212,392.12301 c -0.91395,-0.0795 -2.06633,0.23842 -3.45713,0.95369 -1.3908,0.71527 
-2.80146,1.78817 -4.232,3.21871 -1.43053,1.3908 -2.76173,3.07963 -3.99358,5.06648 -1.19211,1.98686 
-2.06633,4.19227 -2.62265,6.61623 -0.4371,1.78817 -0.59605,3.33791 -0.47684,4.64924 0.11921,1.27158 
0.39737,2.32462 0.83448,3.15909 0.43711,0.79475 0.97356,1.37094 1.60935,1.72857 0.63579,0.39738 
1.23185,0.59606 1.78817,0.59606 1.19211,-0.0795 2.38423,-0.33776 3.57634,-0.77488 1.03316,-0.39736 
2.12593,-1.01329 3.27831,-1.84777 1.15238,-0.87422 2.20541,-2.10606 3.1591,-3.69555 -0.0397,1.0729 
0.0199,1.96699 0.17882,2.68225 0.19868,0.71527 0.39737,1.29143 0.59605,1.72857 0.23842,0.51658 
0.53645,0.91394 0.89409,1.19211 0.35763,0.23845 0.77487,0.3974 1.25172,0.47685 0.47684,0.11922 
0.97355,0.15898 1.49014,0.11921 0.55631,-0.0398 1.09277,-0.13908 1.60934,-0.29804 0.51659,-0.15894 
0.97357,-0.35763 1.37094,-0.59605 0.59606,-0.39736 1.33119,-1.0729 2.20541,-2.02659 0.91395,-0.99342 1.8279,-
 2.06632 2.74187,-3.21871 0.95369,-1.19211 1.86764,-2.36436 2.74185,-3.51673 0.87421,-1.19211 
1.58947,-2.18554 2.14579,-2.98028 0.47687,-0.63579 0.75503,-1.19211 0.83449,-1.66897 0.11917,-0.47683 
0.0993,-0.83448 -0.0596,-1.0729 -0.15895,-0.23839 -0.39737,-0.31787 -0.71528,-0.23842 -0.31789,0.0398 
-0.63578,0.23844 -0.95369,0.59607 -0.23843,0.31789 -0.63578,0.81461 -1.1921,1.49013 -0.51659,0.67554 
-1.11264,1.45041 -1.78817,2.32463 -0.67553,0.87421 -1.41066,1.78817 -2.20541,2.74186 -0.755,0.91394 
-1.49014,1.7683 -2.2054,2.56303 -0.71527,0.75501 -1.39081,1.39081 -2.0266,1.90738 -0.63579,0.47685 
-1.15238,0.71527 -1.54974,0.71527 -0.47685,0 -0.85435,-0.0993 -1.13251,-0.29802 -0.23843,-0.23842 
-0.41724,-0.53645 -0.53645,-0.89409 -0.11922,-0.35763 -0.19869,-0.73514 -0.23843,-1.1325 0,-0.43712 
0.0199,-0.83448 0.0596,-1.19212 0.11921,-0.59605 0.21856,-1.09276 0.29803,-1.49014 0.0795,-0.39736 
0.13909,-0.73514 0.17882,-1.01329 0.0795,-0.31791 0.13909,-0.61593 0.17882,-0.89409 0.0794,-0.31789 0.1
 5894,-0.65566 0.23842,-1.01329 0.39737,-1.82791 0.71527,-3.31805 0.95369,-4.47043 0.23842,-1.15237 
0.41724,-2.06633 0.53645,-2.74186 0.11922,-0.67552 0.17882,-1.13251 0.17882,-1.37093 0,-0.27819 
-0.0198,-0.457 -0.0596,-0.53645 -0.0795,-0.0398 -0.23842,-0.0596 -0.47684,-0.0596 -0.19868,0 -0.4967,0.0198 
-0.89408,0.0596 -0.35763,0.0398 -0.81461,0.11921 -1.37093,0.23842 0.83448,-1.27159 1.15238,-2.28488 
0.95369,-3.03989 -0.15895,-0.79474 -0.51658,-1.3908 -1.07291,-1.78817 -0.67552,-0.4371 -1.54974,-0.75501 
-2.62264,-0.95369 z m -1.40371,3.72833 c 0.15149,0.008 0.28114,0.0567 0.39041,0.14604 0.11922,0.15896 
0.19869,0.37751 0.23843,0.65566 0.0397,0.23842 0.0199,0.57618 -0.0596,1.0133 -0.0397,0.39736 -0.21856,0.91395 
-0.53645,1.54975 0.31789,-0.0794 0.63579,-0.13905 0.95369,-0.17882 0.31789,-0.0398 0.57618,-0.0993 
0.77487,-0.17882 0.23842,-0.0794 0.45697,-0.13904 0.65566,-0.17882 0.15895,-0.0397 0.17882,0.27817 
0.0596,0.95369 -0.0795,0.6358 -0.21855,1.45041 -0.41724,2.44384 -0.19869,0.9934
 4 -0.43711,2.0266 -0.71527,3.09949 -0.27816,1.0729 -0.51658,2.00672 -0.71526,2.80147 -0.0397,0.19868 
-0.21856,0.51657 -0.53645,0.95369 -0.27816,0.43711 -0.65567,0.91395 -1.13251,1.43053 -0.43711,0.51658 
-0.95369,1.0133 -1.54975,1.49014 -0.55632,0.47685 -1.13251,0.87422 -1.72856,1.19211 -0.55632,0.27813 
-1.11264,0.43707 -1.66896,0.47685 -0.55632,0 -1.05303,-0.21856 -1.49014,-0.65566 -0.23842,-0.23843 
-0.39737,-0.73513 -0.47685,-1.49014 -0.0795,-0.79474 -0.0596,-1.70871 0.0596,-2.74186 0.15895,-1.03317 
0.41724,-2.12594 0.77488,-3.27831 0.35763,-1.19211 0.83448,-2.30475 1.43053,-3.33791 1.43054,-2.50345 
2.68226,-4.21214 3.75516,-5.1261 0.83448,-0.71526 1.47971,-1.06246 1.9342,-1.04012 z"
+           
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:1000%;font-family:Satisfy;-inkscape-font-specification:Satisfy;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.52590454px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
 />
+        <g
+           transform="translate(-691.52809,153.52514)"
+           id="g1022"
+           style="display:inline;enable-background:new">
+          <path
+             id="path1016"
+             transform="translate(0,172)"
+             d="m 37,68 c -2.704645,-0.03825 -2.704645,4.03825 0,4 h 9.880859 c 0.01107,0.001 
0.285634,0.0327 0.585938,0.197266 0.306304,0.16789 0.485897,0.188343 0.537109,0.939453 v -0.01953 L 
48.25,78.310547 C 47.789324,78.134111 47.480469,78.058594 47.480469,78.058594 L 47.244141,78 H 38 c 
-4.333333,0 -5.896484,4.367188 -5.896484,4.367188 L 32,82.675781 V 85 c 0,3.03333 1.431289,5.127712 
2.939453,6.070312 C 36.447617,92.012912 38,92 38,92 h 7.591797 l 3.392578,-2.203125 0.01953,0.320313 c 
0.08969,2.735348 4.223189,2.492675 3.992188,-0.234376 l -1,-17.009765 v -0.0098 c -0.140818,-2.06533 
-1.461734,-3.545828 -2.607422,-4.173828 -1.145688,-0.62799 -2.257813,-0.685547 -2.257813,-0.685547 L 
47.064453,68 Z m 1,14 h 8.644531 c 0.106906,0.0312 0.525263,0.141312 1.03711,0.482422 0.558515,0.372213 
0.877827,0.68942 0.894531,1.355469 L 48.714844,85.201172 44.408203,88 H 38 C 38,88 37.552383,87.9871 
37.060547,87.679688 36.568711,87.372288 36,86.96667 36,85 V 83.435547 C 36.102847,83.130577 3
 6.534758,82 38,82 Z"
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-wi
 
dth:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cccccccccsccsscccccccccccscccccccscs" />
+        </g>
+        <path
+           sodipodi:nodetypes="ccccccccc"
+           inkscape:connector-curvature="0"
+           id="rect1201"
+           d="m -681.32504,431.44901 v 10 h 8 v -2 h -6 v -6 h 6 v -2 z"
+           
style="display:inline;opacity:1;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
 />
+        <path
+           inkscape:connector-curvature="0"
+           id="path1217"
+           d="m -678.32504,431.44901 v -94"
+           
style="display:inline;opacity:0.15;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+      </g>
+      <g
+         id="g1844"
+         transform="translate(-20.749999,15.499996)">
+        <rect
+           y="536.5"
+           x="-177.25"
+           
style="display:inline;fill:url(#linearGradient1097);fill-opacity:1;stroke-width:1;enable-background:new"
+           width="104"
+           height="48"
+           rx="8"
+           id="rect1091"
+           ry="8" />
+        <path
+           sodipodi:nodetypes="ssssssssccccs"
+           inkscape:connector-curvature="0"
+           id="rect1093"
+           d="m -169.25,478.5 c -4.432,0 -8,3.568 -8,8 v 84 c 0,4.432 3.568,8 8,8 h 88 c 4.432,0 8,-3.568 
8,-8 v -84 c 0,-4.432 -3.568,-8 -8,-8 h -42 v 2 h -4 v -2 z"
+           
style="display:inline;fill:url(#radialGradient1099);fill-opacity:1;stroke-width:1.6841507;enable-background:new"
 />
+        <g
+           transform="translate(170.67783,294.50313)"
+           style="display:inline;enable-background:new"
+           id="g1381">
+          <rect
+             ry="13.072174"
+             id="rect1371"
+             rx="13.072174"
+             height="28"
+             width="28"
+             style="display:inline;fill:#f5c211;enable-background:new"
+             x="-283.92783"
+             y="193.99687" />
+          <path
+             sodipodi:nodetypes="ccssssc"
+             id="path1373"
+             d="m -276,211 h 12 v 0.99687 c 0,2.20914 -1.7909,4 -4,4 h -4 c -2.20914,0 -4,-1.79086 -4,-4 z"
+             style="display:inline;fill:url(#linearGradient1383);enable-background:new"
+             inkscape:connector-curvature="0" />
+          <rect
+             id="rect1375"
+             height="2"
+             width="12"
+             style="display:inline;fill:#ffffff;enable-background:new"
+             x="-276"
+             y="209.99687" />
+          <path
+             sodipodi:nodetypes="scsccs"
+             id="path1377"
+             d="m -276,204.99687 c 0,-0.55229 0.44772,-1 1,-1 0.55228,0 1,0.44771 1,1 v 3 h -2 z"
+             style="display:inline;fill:#b45600;enable-background:new"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="scsccs"
+             id="path1379"
+             d="m -266,204.99687 c 0,-0.55229 0.44772,-1 1,-1 0.55228,0 1,0.44771 1,1 v 3 h -2 z"
+             style="display:inline;fill:#b45600;enable-background:new"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           transform="translate(170.75,294.5)"
+           style="display:inline;enable-background:new"
+           id="g1387">
+          <path
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#62a0ea;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-wi
 
dth:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+             d="m 26,20 v 17 c 0,0 0.123719,2.819005 -2.894531,4.328125 l 1.789062,3.576172 C 
29.876281,42.413417 30,37 30,37 v -1 h 12 v 2 c 0,0 -0.0278,1.167429 -0.470703,2.230469 C 41.086357,41.293509 
40.7,42 39,42 h -1 l -2,4 h 2 1 c 3.3,0 5.413643,-2.293509 6.220703,-4.230469 C 46.027773,39.832571 46,38 
46,38 V 20 Z m 4,4 h 12 v 2 H 30 Z m 0,6 h 12 v 2 H 30 Z"
+             transform="translate(-358,176)"
+             id="path1385"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           transform="translate(196.75,294.5)"
+           style="display:inline;enable-background:new"
+           id="g1393">
+          <path
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#26a269;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-wi
 
dth:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
+             d="m 60,78 a 2,2 0 0 0 -2,2 2,2 0 0 0 2,2 2,2 0 0 0 2,-2 2,2 0 0 0 -2,-2 z m -4,6 a 2,2 0 0 0 
-2,2 2,2 0 0 0 2,2 2,2 0 0 0 2,-2 2,2 0 0 0 -2,-2 z m 8,0 a 2,2 0 0 0 -2,2 2,2 0 0 0 2,2 2,2 0 0 0 2,-2 2,2 0 
0 0 -2,-2 z m 6,6 -4,2 v 4 h -4 v -2 -2 l -4,2 v 2 L 50,95.998 50.07227,100 c -0.001,1.12729 -0.87241,1.99805 
-2,1.99805 -1.12827,0 -2,-0.87174 -2,-2.000003 h -4 c 0,3.290023 2.70998,6.000003 6,6.000003 3.29001,0 
6,-2.70998 6,-6.000003 L 70,100 Z m -15.927734,3.996094 -4,2 h 4 z"
+             transform="translate(-352,168)"
+             id="path1389"
+             inkscape:connector-curvature="0" />
+          <path
+             id="path1391"
+             d="m -309.92783,267.99687 4,-2 v 2 z"
+             style="display:inline;fill:#26a269;enable-background:new"
+             inkscape:connector-curvature="0" />
+        </g>
+        <path
+           sodipodi:nodetypes="cc"
+           
style="display:inline;fill:none;fill-rule:evenodd;stroke:#deddda;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+           d="m -177.25,528.5 h 104"
+           id="path1397"
+           inkscape:connector-curvature="0" />
+        <path
+           inkscape:connector-curvature="0"
+           id="path1458"
+           d="m -177.25,527.5 h 104"
+           
style="display:inline;fill:none;fill-rule:evenodd;stroke:#c0bfbc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+           sodipodi:nodetypes="cc" />
+        <path
+           sodipodi:nodetypes="cc"
+           inkscape:connector-curvature="0"
+           id="path1395"
+           d="m -125.25,480.5 v 100"
+           
style="display:inline;fill:none;fill-rule:evenodd;stroke:#deddda;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+        <path
+           d="m -153.08925,552.65236 q 0,-1.12461 -0.36927,-1.94707 -0.36927,-0.83925 -0.97353,-1.40995 
-0.23499,-0.23498 -0.50355,-0.4364 -0.40285,-0.30214 -0.57069,-0.46998 -0.67141,-0.63783 -1.00711,-1.47709 
-0.3357,-0.83925 -0.3357,-1.77921 0,-0.97353 0.35249,-1.796 0.35248,-0.82246 0.99032,-1.46029 
0.53712,-0.53712 1.51065,-1.0071 0.77211,-0.36927 1.72885,-0.36927 0.95675,0 1.76243,0.36927 0.90639,0.40284 
1.51065,1.0071 0.63783,0.63783 0.99032,1.46029 0.35249,0.82247 0.35249,1.796 0,1.02389 -0.35249,1.82957 
-0.35249,0.7889 -0.99032,1.42673 -0.16785,0.16784 -0.60426,0.46998 -0.13428,0.10067 -0.46998,0.4364 
-0.68818,0.67141 -1.02388,1.49388 -0.31892,0.80569 -0.31892,1.86314 1.14138,0 1.98063,-0.38607 
0.85604,-0.40283 1.40994,-0.95675 0.21821,-0.21819 0.41963,-0.48675 0.30213,-0.41963 0.46998,-0.58749 
0.65462,-0.6546 1.49387,-0.9903 0.83925,-0.35249 1.77921,-0.35249 0.97353,0 1.796,0.35249 0.82246,0.35248 
1.4603,0.9903 0.60426,0.60427 1.0071,1.51067 0.35248,0.78889 0.35248,1.74564
  0,0.95675 -0.35248,1.74564 -0.40284,0.90638 -1.0071,1.51065 -0.63784,0.63783 -1.4603,0.99031 
-0.82247,0.35249 -1.796,0.35249 -0.93996,0 -1.77921,-0.33572 -0.83925,-0.35246 -1.49387,-1.00708 
-0.16785,-0.16785 -0.46998,-0.58748 -0.20142,-0.26856 -0.41963,-0.48677 -0.68818,-0.65461 -1.51065,-0.99031 
-0.80568,-0.35248 -1.87992,-0.35248 0,1.14136 0.38606,1.99742 0.40284,0.83924 0.95674,1.39314 0.21821,0.21822 
0.48677,0.41964 0.41962,0.30213 0.58747,0.46998 0.65462,0.65462 0.99032,1.49386 0.35249,0.83925 
0.35249,1.77922 0,0.97352 -0.35249,1.79599 -0.35249,0.82247 -0.99032,1.46029 -0.60426,0.60428 
-1.51065,1.00711 -0.78889,0.35249 -1.74564,0.35249 -0.95675,0 -1.74564,-0.35249 -0.90639,-0.40283 
-1.51065,-1.00711 -0.63784,-0.63782 -0.99032,-1.46029 -0.35249,-0.82247 -0.35249,-1.79599 0,-0.93997 
0.3357,-1.77922 0.35249,-0.83924 1.00711,-1.49386 0.16784,-0.16785 0.58747,-0.46998 0.26856,-0.20142 
0.48677,-0.41964 0.65461,-0.68818 0.99031,-1.49385 0.35249,-0.82248 0.35249,-1.89671 -1.05746,0 -1
 .89671,0.35248 -0.82247,0.3357 -1.47708,0.99031 -0.23499,0.23499 -0.43641,0.50355 -0.30213,0.40285 
-0.46998,0.5707 -0.63783,0.6714 -1.47708,1.00708 -0.83926,0.33572 -1.77922,0.33572 -0.97353,0 
-1.79599,-0.35249 -0.82247,-0.35248 -1.4603,-0.99031 -0.55391,-0.53712 -1.0071,-1.51065 -0.36927,-0.77211 
-0.36927,-1.72886 0,-0.95675 0.36927,-1.76242 0.40284,-0.9064 1.0071,-1.51067 0.63783,-0.63782 1.4603,-0.9903 
0.82246,-0.35249 1.79599,-0.35249 1.02389,0 1.81279,0.35249 0.80568,0.35248 1.44351,0.9903 0.16785,0.16786 
0.46998,0.60427 0.10071,0.13428 0.43641,0.46997 0.6714,0.6714 1.49387,1.00711 0.82246,0.33571 1.87992,0.33571 
z"
+           
style="font-style:normal;font-weight:normal;font-size:medium;line-height:1000%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#a347ba;fill-opacity:1;stroke:none;stroke-width:0.85939318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           id="path1476"
+           inkscape:connector-curvature="0" />
+      </g>
+      <g
+         style="display:inline;enable-background:new"
+         id="g1331"
+         transform="translate(-14,72)">
+        <g
+           id="g6295"
+           inkscape:label="network-wireless-signal-excellent"
+           transform="translate(191.9998,-389)"
+           style="display:inline">
+          <rect
+             clip-path="none"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+             id="rect6303"
+             width="16"
+             height="16"
+             x="-505"
+             y="70.000198"
+             transform="rotate(-90)" />
+          <circle
+             r="1"
+             cy="209"
+             cx="28"
+             clip-path="none"
+             style="display:inline;fill:#241f31;fill-opacity:1;stroke:none"
+             id="path6305"
+             transform="matrix(1.9999995,0,0,1.9999995,22.000213,84.0001)" />
+          <path
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;marker:none;enable-background:accumulate"
+             d="m 78.000188,491.0002 c -2.81422,0 -5.17173,1 -7,2.58557 v 1.41443 h 1.48072 c 
1.51928,-1.26466 3.21936,-2 5.51928,-2 2.29992,0 4,0.77953 5.51928,2 h 1.48072 v -1.38128 c -1.64044,-1.46575 
-4.18578,-2.61872 -7,-2.61872 z"
+             id="rect11714"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="scccscccs" />
+          <path
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;marker:none;enable-background:accumulate"
+             d="m 78.000188,494.0002 c -2.16664,0 -4.01982,0.73878 -5,2 v 1 h 2 c 0.78878,-0.60652 
1.75887,-1 3,-1 1.24113,0 2.21938,0.39348 3,1 h 2 v -1 c -0.99478,-1.2229 -2.8734,-2 -5,-2 z"
+             id="rect11703"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="scccscccs" />
+          <path
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:2.32782054;marker:none;enable-background:accumulate"
+             mask="none"
+             clip-path="none"
+             d="m 78.000188,497.0002 c -1.25733,0 -2.21571,0.31165 -3,1 v 1 h 3 0.375 2.625 v -1 c 
-0.8369,-0.67206 -1.74267,-1 -3,-1 z"
+             id="path6297"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="zccccccz" />
+        </g>
+        <g
+           transform="rotate(90,197,316.99999)"
+           inkscape:label="battery-full"
+           id="g3728"
+           style="display:inline">
+          <desc
+             id="desc11549">battery is full and there is no a/c connected.</desc>
+          <rect
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate"
+             id="rect2928"
+             width="2"
+             height="6"
+             x="25"
+             y="-247"
+             transform="scale(1,-1)" />
+          <path
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#241f31;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
+             d="m 35,239 v 10 H 23 v -2 H 21.484375 C 21.25,247 21,246.75 21,246.53125 V 241.5625 C 
20.98437,241.28125 21.340963,241.01563 21.622213,241 H 23 v -2 z"
+             id="path2930"
+             sodipodi:nodetypes="ccccccccccc"
+             inkscape:connector-curvature="0" />
+          <rect
+             y="236"
+             x="20"
+             height="16"
+             width="16"
+             id="rect3704-3"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
 />
+          <rect
+             transform="scale(1,-1)"
+             y="-247"
+             x="28"
+             height="6"
+             width="2"
+             id="rect4227"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate"
 />
+          <rect
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate"
+             id="rect4229"
+             width="2"
+             height="6"
+             x="31"
+             y="-247"
+             transform="scale(1,-1)" />
+        </g>
+        <g
+           transform="translate(262.00001,-136)"
+           id="g3288"
+           inkscape:label="network-cellular-signal-good"
+           style="display:inline">
+          <path
+             id="path3290"
+             d="m 33.5,277.5 v 12"
+             
style="display:inline;opacity:0.35;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:#241f31;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
+             inkscape:export-xdpi="90"
+             inkscape:export-ydpi="90"
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:export-ydpi="90"
+             inkscape:export-xdpi="90"
+             
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
+             
style="display:inline;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:#241f31;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="M 29.5,280.49216 V 289.5"
+             id="path3292"
+             inkscape:connector-curvature="0" />
+          <path
+             id="path3294"
+             d="m 25.5,283.5 v 6"
+             
style="display:inline;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:#241f31;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
+             inkscape:export-xdpi="90"
+             inkscape:export-ydpi="90"
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:export-ydpi="90"
+             inkscape:export-xdpi="90"
+             
inkscape:export-filename="/Users/hylkebons/tmp/mid/Toolbar/Graphics/tiny_toolbar_icons/icons/cell-network-no-connection.png"
+             
style="display:inline;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:#241f31;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="m 21.5,286.5 v 3"
+             id="path3296"
+             inkscape:connector-curvature="0" />
+          <rect
+             y="276"
+             x="20"
+             height="16"
+             width="16"
+             id="rect3298"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
 />
+        </g>
+        <g
+           style="display:inline"
+           transform="translate(262,-196)"
+           inkscape:label="mail-unread"
+           id="g35596">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none"
+             id="rect35598"
+             width="16"
+             height="16"
+             x="19.99975"
+             y="296" />
+          <path
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="ccc"
+             id="path35600"
+             d="m 22.999801,300.99992 5.000005,4.00007 4.999994,-4.00002"
+             
style="fill:none;stroke:#241f31;stroke-width:1.99999976;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <rect
+             y="300"
+             x="21.9998"
+             height="9"
+             width="12"
+             id="rect35604"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#241f31;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
 />
+        </g>
+        <g
+           inkscape:label="call-missed"
+           id="g9250"
+           style="display:inline"
+           transform="translate(160.9998,-177)">
+          <rect
+             y="317"
+             x="141.0002"
+             height="16"
+             width="16"
+             id="rect44122"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
 />
+          <path
+             inkscape:connector-curvature="0"
+             id="path44196"
+             d="m 149.99715,317.00012 v 0.78125 a 1.001098,1.001098 0 0 0 1.03125,1.21875 h 0.59375 l 
-2.5625,2.5625 -2.375,-2.28125 a 1.0054782,1.0054782 0 0 0 -0.71875,-0.28125 h -0.125 -0.84375 v 0.75 a 
1.0054782,1.0054782 0 0 0 0,0.0937 1.0054782,1.0054782 0 0 0 0.28125,0.875 l 3.09375,2.96875 0.6875,0.6875 
0.71875,-0.6875 3.21875,-3.25 v 0.5625 a 1.0001,1.0001 0 0 0 1,1 h 1 v -0.84375 a 1.0001,1.0001 0 0 0 
0,-0.1562 v -3 -1 h -1 -2.96875 a 1.0001,1.0001 0 0 0 -0.0312,0 z"
+             
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:xx-small;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
 />
+          <path
+             sodipodi:nodetypes="ccccccccscccccscc"
+             inkscape:connector-curvature="0"
+             style="display:inline;opacity:1;fill:#241f31;fill-opacity:1;stroke:none;enable-background:new"
+             d="m 141.2661,330.71341 c -0.34368,-0.34368 -0.34865,-1.07502 -2e-5,-1.42366 l 0.0404,-0.0403 c 
4.26664,-4.24462 11.16673,-4.2381 15.42494,0.0201 l 0.02,0.0201 c 0.35061,0.35061 0.31852,1.07025 
-0.0201,1.44378 l -1.93062,1.99693 c -0.35652,0.35653 -0.93056,0.35652 -1.28709,10e-6 l -1.28709,-1.2871 c 
-0.35652,-0.35653 -0.35653,-0.93055 -1e-5,-1.28709 l 0.30167,-0.30165 c -2.22715,-1.06378 -4.81163,-1.06378 
-7.03876,10e-6 l 0.30166,0.30164 c 0.35653,0.35654 0.35652,0.93056 0,1.2871 l -1.28709,1.28708 c 
-0.35653,0.35653 -0.93663,0.3625 -1.28709,0 z"
+             id="rect5922-5-0" />
+        </g>
+        <g
+           inkscape:label="user-available"
+           id="g8272"
+           style="display:inline"
+           transform="translate(240.9998,-237)">
+          <path
+             inkscape:connector-curvature="0"
+             id="path8268"
+             transform="translate(241.0002,217)"
+             d="m -196.5,141 c -1.385,0 -2.5,1.115 -2.5,2.5 v 5 c 0,1.385 1.115,2.5 2.5,2.5 h 6.375 l 
3.125,4 v -4.0625 c 1.14126,-0.23235 2,-1.22563 2,-2.4375 v -5 c 0,-1.385 -1.115,-2.5 -2.5,-2.5 z"
+             
style="fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+          <rect
+             y="357"
+             x="41.000198"
+             height="16"
+             width="16"
+             id="rect11252"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
 />
+        </g>
+        <g
+           transform="translate(60.99979,383)"
+           inkscape:label="airplane-mode"
+           id="g5836"
+           style="display:inline;enable-background:new">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+             id="rect5092"
+             width="16"
+             height="16"
+             x="261.00021"
+             y="-243" />
+          <path
+             style="fill:#241f31;fill-opacity:1;stroke:none"
+             d="m 267.49679,-242 c -0.79399,9.7e-4 -0.78072,0.0333 -0.53125,1.03125 l 1.625,4.96875 h -4.5 l 
-1.21875,-1.78125 c -0.13926,-0.20883 -0.1227,-0.21873 -0.34375,-0.21875 h -0.21875 c -0.42773,0 
-0.28125,0.4375 -0.28125,0.4375 l 0.28125,2.5625 -0.28125,2.5625 c 0,0 -0.13986,0.43749 0.25,0.4375 h 0.25 c 
0.21159,0 0.20422,-0.009 0.34375,-0.21875 L 264.09054,-234 h 4.5 l -1.625,4.9375 c -0.26171,1.04691 
-0.2647,1.06251 0.53125,1.0625 0.43199,0 0.43388,-0.0117 0.71875,-0.5 l 3.6875,-5.5 h 3.09375 c 0.554,0 
1,-0.446 1,-1 0,-0.554 -0.446,-1 -1,-1 h -3.09375 l -3.6875,-5.5 c -0.2665,-0.45685 -0.28331,-0.49822 
-0.65625,-0.5 z"
+             id="path6273"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           style="display:inline"
+           inkscape:label="audio-input-microphone"
+           id="g3281-5"
+           transform="translate(282,-156)">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+             id="rect3825-9-5"
+             width="16"
+             height="16"
+             x="20"
+             y="276" />
+          <path
+             inkscape:connector-curvature="0"
+             d="m -176.5,235 c -0.27614,0 -0.5,0.22386 -0.5,0.5 v 2.96875 c 0,1.96838 1.25801,3.62455 3,4.25 
V 244 h -2 c -0.56475,0 -1,0.49007 -1,1 v 1 h 0.84375 2.15625 5 0.0937 0.90625 v -1 c -6e-5,-0.58435 
-0.47642,-0.99995 -1,-1 h -2 v -1.28125 c 1.74199,-0.62545 3,-2.28162 3,-4.25 V 235.5 c 0,-0.27614 
-0.22386,-0.5 -0.5,-0.5 -0.27614,0 -0.5,0.22386 -0.5,0.5 0,0.069 0.006,0.12768 0.0312,0.1875 v 2.78125 c 
0,1.96415 -1.57895,3.53125 -3.53125,3.53125 -1.9523,0 -3.5,-1.5671 -3.5,-3.53125 V 235.5 c 0,-0.27614 
-0.22386,-0.5 -0.5,-0.5 z m 3.9998,-4.01288 c 1.385,0 2.5,1.115 2.5,2.5 V 238.5 c 0,1.385 -1.115,2.5 -2.5,2.5 
-1.385,0 -2.5,-1.115 -2.5,-2.5 v -5.01288 c 0,-1.385 1.115,-2.5 2.5,-2.5 z"
+             
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1.00302994;marker:none;enable-background:accumulate"
+             transform="translate(200.0002,46)"
+             id="rect6806" />
+        </g>
+        <g
+           style="display:inline"
+           inkscape:label="camera-photo"
+           id="g11537"
+           transform="translate(282,-176)">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+             id="rect11539"
+             width="16"
+             height="16"
+             x="20"
+             y="276" />
+          <path
+             inkscape:connector-curvature="0"
+             id="rect5238"
+             d="m 26,278 c -0.549959,0 -1,0.45004 -1,1 v 1 h -3 c -0.552014,0 -1,0.45004 -1,1 v 8 c 
0,0.54996 0.447986,1 1,1 h 12 c 0.552014,0 1,-0.45004 1,-1 v -8 c 0,-0.54996 -0.447986,-1 -1,-1 h -3 v -1 c 
0,-0.54996 -0.450041,-1 -1,-1 z m 2,3 c 2.209139,0 4,1.79086 4,4 0,2.20914 -1.790861,4 -4,4 -2.209139,0 
-4,-1.79086 -4,-4 0,-2.20914 1.790861,-4 4,-4 z m 0,2 c -1.10457,0 -2,0.89543 -2,2 0,1.10457 0.89543,2 2,2 
1.10457,0 2,-0.89543 2,-2 0,-1.10457 -0.89543,-2 -2,-2 z"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
 />
+        </g>
+        <g
+           id="g8762"
+           inkscape:label="input-dialpad"
+           style="display:inline"
+           transform="translate(222.0002,-470)">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+             id="rect8764"
+             width="16"
+             height="16"
+             x="20"
+             y="276"
+             transform="translate(99.9998,334)" />
+          <path
+             sodipodi:nodetypes="cssccsssscscscccccccccccccccccccccccccccccccccccccccccccccccccccc"
+             inkscape:connector-curvature="0"
+             id="rect8806"
+             transform="translate(120,380)"
+             d="m 3.5,230 c 0,0 -1.5,0 -1.5,1.5 v 9 C 2,242 3.5,242 3.5,242 H 5 v 2 c 0,0.554 0.446,1 1,1 h 
4 c 0.554,0 1,-0.446 1,-1 v -2 h 1.5 c 1.5,0 1.5,-1.5 1.5,-1.5 v -9 C 14,230 12.5,230 12.5,230 Z m 0.5,2 h 2 
v 2 H 4 Z m 3,0 h 2 v 2 H 7 Z m 3,0 h 2 v 2 h -2 z m -6,3 h 2 v 2 H 4 Z m 3,0 h 2 v 2 H 7 Z m 3,0 h 2 v 2 h 
-2 z m -6,3 h 2 v 2 H 4 Z m 3,0 h 2 v 2 H 7 Z m 3,0 h 2 v 2 h -2 z m -3,3 h 2 v 2 H 7 Z"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
 />
+        </g>
+        <g
+           id="g14087"
+           style="display:inline"
+           transform="translate(220.9998,-77)">
+          <g
+             transform="translate(1.6357422e-6)"
+             style="display:inline"
+             id="g8093"
+             inkscape:label="audio-volume-high">
+            <path
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="ccccccccc"
+               id="path5491"
+               d="m 41.0002,201.99979 h 2.484375 L 46.453329,199 H 47.0002 v 11.99917 L 46.524903,211 
43.484575,207.99938 H 41.0002 Z"
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none"
 />
+            <rect
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.1;fill:none;stroke:none;stroke-width:1;marker:none"
+               id="rect6203"
+               width="16"
+               height="16"
+               x="41.000198"
+               y="197" />
+            <path
+               
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;marker:none;enable-background:accumulate"
+               d="m 56.00019,205.0002 c 0,-2.81422 -1,-5.17173 -2.58557,-7 h -1.41443 v 1.48072 c 
1.26466,1.51928 2,3.21936 2,5.51928 0,2.29992 -0.77953,4 -2,5.51928 v 1.48072 h 1.38128 c 1.46575,-1.64044 
2.61872,-4.18578 2.61872,-7 z"
+               id="rect11714-3"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="scccscccs" />
+            <path
+               
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;marker:none;enable-background:accumulate"
+               d="m 53.00019,205.0002 c 0,-2.16664 -0.73878,-4.01982 -2,-5 h -1 v 2 c 0.60652,0.78878 
1,1.75887 1,3 0,1.24113 -0.39348,2.21938 -1,3 v 2 h 1 c 1.2229,-0.99478 2,-2.8734 2,-5 z"
+               id="rect11703-1"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="scccscccs" />
+            <path
+               
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:2.32782054;marker:none;enable-background:accumulate"
+               mask="none"
+               clip-path="none"
+               d="m 50.00019,205.0002 c 0,-1.25733 -0.31165,-2.21571 -1,-3 h -1 v 6 h 1 c 0.67206,-0.8369 
1,-1.74267 1,-3 z"
+               id="path6297-6"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="zccccz" />
+          </g>
+        </g>
+        <g
+           id="g11497-6-7-9-1"
+           inkscape:label="application-rss+xml"
+           transform="translate(314.00001,-298)"
+           style="display:inline">
+          <rect
+             y="398"
+             x="48"
+             height="16"
+             width="16"
+             id="rect10727-3-4-6-9"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.51464431;fill:none;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
 />
+          <ellipse
+             ry="3.236068"
+             rx="2"
+             cy="97.1875"
+             cx="323.0625"
+             transform="matrix(1.0000007,0,0,0.61803426,-271.06253,349.93467)"
+             id="path4983"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.69602728;marker:none;enable-background:new"
 />
+          <path
+             inkscape:connector-curvature="0"
+             id="path5814"
+             d="m 50.0002,399.99988 v 1 c 0,0.55016 0.45347,1 1,1 4.97056,0 9,4.02944 9,9 0,0.55016 
0.45347,1 1,1 h 1 v -1 c 0,-6.07513 -4.92487,-11 -11,-11 z m 0,4 v 1 c 0,0.55016 0.45347,1 1,1 2.76143,0 
5,2.23857 5,5 0,0.55016 0.45347,1 1,1 h 1 v -1 c 0,-3.866 -3.134,-7 -7,-7 z"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333492;marker:none;enable-background:new"
 />
+        </g>
+        <g
+           transform="translate(-219.99999,-261.99997)"
+           inkscape:label="emblem-music"
+           id="g6252"
+           style="display:inline">
+          <rect
+             y="381.99997"
+             x="582"
+             height="16"
+             width="16"
+             id="rect24874-7-8-7"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
 />
+          <circle
+             r="2.4306796"
+             cy="174.17094"
+             cx="345.99619"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#241f31;stroke-width:1.94454503;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             id="path6170"
+             transform="matrix(1.0285185,0,0,1.028518,229.63673,214.36204)" />
+          <circle
+             r="2.4306796"
+             cy="174.17094"
+             cx="345.99619"
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#241f31;stroke-width:1.94454503;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:new"
+             id="path6170-5"
+             transform="matrix(1.0285185,0,0,1.028518,237.63673,214.36204)" />
+          <rect
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50793636;marker:none;enable-background:new"
+             id="rect6190"
+             width="2.0000219"
+             height="9.515729"
+             x="587.00018"
+             y="384" />
+          <rect
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50793636;marker:none;enable-background:new"
+             id="rect6190-8"
+             width="2.0000412"
+             height="9.5626974"
+             x="595.00018"
+             y="384" />
+          <rect
+             
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.50793636;marker:none;enable-background:new"
+             id="rect6190-8-8"
+             width="10.000017"
+             height="2"
+             x="587.00018"
+             y="384" />
+        </g>
+        <g
+           transform="translate(-139.0002,-241)"
+           inkscape:label="emblem-synchronizing"
+           id="g5244"
+           style="display:inline">
+          <rect
+             width="16"
+             height="16"
+             x="-397"
+             y="501.00021"
+             id="rect10837-5-8-4-4-2-3"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none;enable-background:new"
+             transform="rotate(-90)" />
+          <path
+             sodipodi:nodetypes="cccccccccccccccc"
+             inkscape:connector-curvature="0"
+             
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
+             d="m 515.90195,383.0005 c -0.0423,0.008 -0.0841,0.0181 -0.125,0.0312 -0.44715,0.10014 
-0.79228,0.5419 -0.78125,1 v 1.6875 c 0.004,1.31255 0.004,1.31255 -1.5625,1.3125 h -1.4375 c -0.52358,5e-5 
-0.99995,0.47642 -1,1 -0.008,0.0726 -0.008,0.14613 0,0.21875 v 0.78125 h 6 v -1 -4 c 0.006,-0.0623 
0.006,-0.12518 0,-0.1875 v -0.8125 h -0.8125 c -0.0916,-0.0236 -0.18665,-0.0342 -0.28125,-0.0312 z"
+             id="path4597-1" />
+          <path
+             sodipodi:nodetypes="cccccccccccccccc"
+             inkscape:connector-curvature="0"
+             
style="color:#bebebe;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
+             d="m 501.0047,389 v 1 4 c -0.006,0.0623 -0.006,0.12518 0,0.1875 V 395 h 0.8125 c 0.0916,0.0236 
0.18665,0.0342 0.28125,0.0312 0.0423,-0.008 0.0841,-0.0181 0.125,-0.0312 0.44715,-0.10014 0.79228,-0.5419 
0.78125,-1 v -1.6875 C 503.00029,391 503.00029,391 504.5672,391 h 1.4375 c 0.52358,-5e-5 0.99995,-0.47642 
1,-1 0.008,-0.0726 0.008,-0.14613 0,-0.21875 V 389 Z"
+             id="path10913" />
+          <path
+             inkscape:connector-curvature="0"
+             
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.33333325;marker:none;enable-background:accumulate"
+             d="m 268,165 c -3.15321,0 -5.81948,2.12571 -6.6875,5 h 2.09375 c 0.7734,-1.76501 2.53819,-3 
4.59375,-3 2.05556,0 3.82035,1.23499 4.59375,3 h 2.09375 c -0.86802,-2.87429 -3.53429,-5 -6.6875,-5 z m 
-6.6875,9 c 0.86802,2.87429 3.53429,5 6.6875,5 3.15321,0 5.81948,-2.12571 6.6875,-5 h -2.09375 c 
-0.7734,1.76501 -2.53819,3 -4.59375,3 -2.05556,0 -3.82035,-1.23499 -4.59375,-3 z"
+             transform="translate(241.0002,217)"
+             id="path1483" />
+        </g>
+        <g
+           inkscape:label="emblem-videos"
+           transform="translate(482.0002,-110)"
+           id="g21333-9-5"
+           style="display:inline">
+          <g
+             style="display:inline"
+             inkscape:label="camera-web"
+             id="use21331-8-1"
+             transform="matrix(-1,0,0,1,-124.0002,-46)">
+            <rect
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+               id="rect2132"
+               width="16"
+               height="16"
+               x="20"
+               y="276" />
+            <rect
+               ry="1"
+               rx="0.99980003"
+               y="280"
+               x="21.03125"
+               height="9"
+               width="9.96875"
+               id="rect2134"
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1;marker:none"
 />
+            <path
+               inkscape:connector-curvature="0"
+               id="path2136"
+               d="M 31,284.4693 34.469295,281 H 35.0002 v 7 h -0.5 z"
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:1;marker:none"
+               sodipodi:nodetypes="cccccc" />
+          </g>
+        </g>
+        <g
+           transform="matrix(-1,0,0,1,863.00037,79.003359)"
+           inkscape:label="call-start"
+           id="g6051"
+           style="display:inline;enable-background:new">
+          <rect
+             y="20.996641"
+             x="-521.00037"
+             height="16"
+             width="16"
+             id="rect43299-3"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1;marker:none"
+             transform="scale(-1,1)" />
+          <path
+             transform="translate(241.0002,-473)"
+             inkscape:connector-curvature="0"
+             style="opacity:1;fill:#000000;fill-opacity:1;stroke:none"
+             d="M 266.96875,495 C 266.43472,495 266,495.42699 266,495.96875 v 0.0625 C 266.01714,502.64406 
271.38317,508 278,508 h 0.0312 c 0.54483,0 0.9688,-0.446 0.9688,-1 v -1 -2 c 0,-0.554 -0.446,-1 -1,-1 h -2 c 
-0.554,0 -1,0.446 -1,1 v 0.46875 C 272.44314,503.56487 270.43513,501.55686 269.53125,499 H 270 c 0.55401,0 
1,-0.44599 1,-1 v -2 c 0,-0.55401 -0.44599,-1 -1,-1 h -1 -1 -0.96875 -0.0312 -0.0312 z"
+             id="rect5922" />
+        </g>
+        <g
+           transform="translate(162,-526)"
+           inkscape:label="document-edit"
+           id="g10444"
+           style="display:inline">
+          <rect
+             y="646"
+             x="180"
+             height="16"
+             width="16"
+             id="rect10447"
+             style="fill:none;stroke:none" />
+          <path
+             style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+             sodipodi:nodetypes="cccccc"
+             id="path13107"
+             d="m 182.67863,656.29269 5.84933,-5.85075 2.99982,2.99981 -5.82888,5.87306 -4.02677,1.07184 z"
+             inkscape:connector-curvature="0" />
+          <path
+             id="rect9831"
+             d="m 191.63729,647.67638 c -0.20052,0 -0.40103,0.0768 -0.55468,0.23047 l -1.76953,1.76758 
3.05273,3.05273 1.76953,-1.76953 c 0.3073,-0.3073 0.3073,-0.80208 0,-1.10938 l -1.94336,-1.9414 c 
-0.15365,-0.15365 -0.35417,-0.23047 -0.55469,-0.23047 z"
+             
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           transform="translate(-77.999996,142.00001)"
+           inkscape:label="go-home"
+           id="g9849"
+           style="display:inline">
+          <g
+             transform="translate(-853.0002,532.99999)"
+             style="display:inline"
+             id="use9847"
+             inkscape:label="user-home">
+            <path
+               sodipodi:nodetypes="cccc"
+               inkscape:connector-curvature="0"
+               id="path2140"
+               d="M 1256.0002,-568.99998 V -562 h 10 v -6.99998"
+               
style="fill:none;stroke:#241f31;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+            <path
+               sodipodi:nodetypes="ccc"
+               inkscape:connector-curvature="0"
+               id="path2142"
+               d="m 1254.0002,-567.99998 7,-5 7,5"
+               
style="fill:none;stroke:#241f31;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+            <rect
+               y="-567"
+               x="1259.0002"
+               height="6"
+               width="3"
+               id="rect2144"
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
 />
+            <rect
+               style="display:inline;fill:#241f31;fill-opacity:1;stroke:none"
+               id="rect2146"
+               width="1"
+               height="1"
+               x="-1269.0004"
+               y="-568"
+               transform="scale(-1,1)" />
+            <rect
+               style="display:inline;fill:#241f31;fill-opacity:1;stroke:none"
+               id="rect2148"
+               width="1"
+               height="1"
+               x="-1254.0004"
+               y="-568"
+               transform="scale(-1,1)" />
+            <rect
+               y="-575"
+               x="1253.0002"
+               height="16"
+               width="16"
+               id="rect2150"
+               
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
 />
+          </g>
+        </g>
+        <g
+           id="g40070"
+           inkscape:label="user-trash"
+           transform="matrix(-1,0,0,1,625.94876,-856)"
+           style="display:inline">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
+             id="rect40076"
+             width="16"
+             height="16"
+             x="227.9998"
+             y="996" />
+          <path
+             d="m 230.9998,1001 v 9 h 9 v -9 h 2 v 9 c 0,2 -2,2 -2,2 h -9 c -2,0 -2,-2 -2,-2 v -9 z m 
4.00001,1 h 1.00002 v 6 h -1.00002 z m 2,0 h 1.00002 v 6 h -1.00002 z m -4,0 h 0.99999 v 6 h -0.99999 z m 
-1.00001,-6 c -2,0 -2,2 -2,2 h -2 v 2 h 15 v -2 h -2 c 0,-2 -2,-2 -2,-2 z m 0,1 h 7 v 1 h -7 z"
+             style="fill:#000000;fill-opacity:1;stroke:none"
+             id="path3799"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           id="g35539"
+           transform="translate(35.758249,-843.1781)"
+           inkscape:label="emblem-important"
+           style="display:inline">
+          <path
+             style="fill:#000000;fill-opacity:1;stroke:none"
+             d="m 354.1907,964.17812 c -3.86599,0 -7,3.13401 -7,7 0,3.86599 3.13401,7 7,7 3.86599,0 
7,-3.13401 7,-7 0,-3.86599 -3.13401,-7 -7,-7 z m -0.0937,1.96875 a 1.0001,1.0001 0 0 1 1.09375,1.03125 v 5 a 
1.0001,1.0001 0 1 1 -2,0 v -5 a 1.0001,1.0001 0 0 1 0.78125,-1 1.0001,1.0001 0 0 1 0.125,-0.0313 z m 
0.0937,8.03125 c 0.55228,0 1,0.44772 1,1 0,0.55228 -0.44772,1 -1,1 -0.55229,0 -1,-0.44772 -1,-1 0,-0.55228 
0.44771,-1 1,-1 z"
+             id="path35543"
+             inkscape:connector-curvature="0" />
+          <rect
+             y="963.1781"
+             x="346.1907"
+             height="16"
+             width="16"
+             id="rect35549"
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
 />
+        </g>
+        <g
+           transform="translate(-59.05126,-281)"
+           inkscape:label="emblem-favorite"
+           id="g8559"
+           style="display:inline">
+          <rect
+             
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
+             id="rect14243"
+             width="16"
+             height="16"
+             x="441.00021"
+             y="381" />
+          <path
+             style="display:inline;fill:#000000;fill-opacity:1;stroke:none;enable-background:new"
+             sodipodi:nodetypes="cscsscccccc"
+             inkscape:connector-curvature="0"
+             id="path4"
+             d="m 456.0002,386.76617 c 0,-2.07495 -1.68742,-3.75698 -3.76925,-3.75698 -1.37132,0 
-2.57123,0.73006 -3.23065,1.8214 -0.65942,-1.09135 -1.85953,-1.8214 -3.23085,-1.8214 -2.08183,0 
-3.76925,1.68203 -3.76925,3.75698 0,1.07968 0.45777,2.05239 1.18953,2.73766 h -10e-4 l 5.72506,5.49617 
5.89867,-5.49617 h -0.002 c 0.73186,-0.68517 1.18933,-1.65788 1.18933,-2.73766" />
+        </g>
+      </g>
+      <g
+         id="g2014"
+         transform="translate(-70.030303,-207)">
+        <g
+           transform="matrix(0.3,0,0,-0.21279762,-440.7697,766.3631)"
+           
style="display:inline;fill:url(#linearGradient1572);fill-opacity:1;stroke-width:1.0298574;enable-background:new"
+           clip-path="none"
+           id="g1479">
+          <rect
+             transform="scale(-1,1)"
+             clip-path="none"
+             ry="37.594406"
+             rx="26.666666"
+             y="-190.965"
+             x="-429.33334"
+             height="451.13287"
+             width="346.66669"
+             id="rect1473"
+             
style="opacity:1;vector-effect:none;fill:#1a5fb4;fill-opacity:1;stroke:none;stroke-width:53.73949814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+          <rect
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:53.73949814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+             id="rect1475"
+             width="346.66669"
+             height="451.13287"
+             x="-429.33334"
+             y="-181.56641"
+             rx="26.666666"
+             ry="37.594406"
+             clip-path="none"
+             transform="scale(-1,1)" />
+          <rect
+             
style="opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:53.73949814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+             id="rect1477"
+             width="346.66669"
+             height="451.13284"
+             x="-429.33334"
+             y="-153.37062"
+             rx="26.666666"
+             ry="37.594406"
+             clip-path="none"
+             transform="scale(-1,1)" />
+        </g>
+        <g
+           id="g1497"
+           style="display:inline;enable-background:new"
+           transform="translate(-427.9697,519)">
+          <circle
+             r="1.9999998"
+             cy="252"
+             cx="108"
+             id="circle1481"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1483"
+             cx="108"
+             cy="242"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="232"
+             cx="108"
+             id="circle1485-8"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1487"
+             cx="108"
+             cy="222"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="212"
+             cx="108"
+             id="circle1489"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1493"
+             cx="108"
+             cy="202"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="192"
+             cx="108"
+             id="circle1495"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+        </g>
+        <g
+           id="g1518"
+           style="display:inline;enable-background:new"
+           transform="translate(-427.9697,519)">
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1499-7"
+             cx="20"
+             cy="272"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="262"
+             cx="20"
+             id="circle1501"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1503"
+             cx="20"
+             cy="252"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="242"
+             cx="20"
+             id="circle1505"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1507"
+             cx="20"
+             cy="232"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="222"
+             cx="20"
+             id="circle1509"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1511"
+             cx="20"
+             cy="212"
+             r="1.9999998" />
+          <circle
+             r="1.9999998"
+             cy="202"
+             cx="20"
+             id="circle1513-9"
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:7.99999905;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1515"
+             cx="20"
+             cy="192"
+             r="1.9999998" />
+        </g>
+        <g
+           transform="translate(-427.9697,518)"
+           id="g1538"
+           style="display:inline;opacity:0.3;stroke:#d5d3cf;enable-background:new">
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1520"
+             d="m 28,192 h 72"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="m 28,202 h 72"
+             id="path1522"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1524"
+             d="m 28,212 h 72"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1526"
+             d="m 28,222 h 72"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="m 28,232 h 72"
+             id="path1528"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="cc"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="m 28,242 h 72"
+             id="path1530"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1532"
+             d="m 28,252 h 72"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1534"
+             d="m 28,262 h 72"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          <path
+             sodipodi:nodetypes="cc"
+             
style="fill:none;fill-rule:evenodd;stroke:#d5d3cf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="M 28,272 H 94"
+             id="path1536"
+             inkscape:connector-curvature="0" />
+        </g>
+        <g
+           transform="translate(-447.9697,519)"
+           id="g1568"
+           style="display:inline;enable-background:new">
+          <g
+             id="g1546"
+             transform="translate(14.00001,-11.999987)"
+             style="opacity:0.1;stroke:#00000f;stroke-opacity:1">
+            <path
+               transform="translate(0,-3e-6)"
+               
style="display:inline;fill:none;stroke:#00000f;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+               d="m 35.99999,249.99999 -8,8"
+               id="path1540"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <path
+               transform="translate(0,-3e-6)"
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1542"
+               d="m 27.99999,257.99999 -14,14"
+               
style="display:inline;fill:none;stroke:#00000f;stroke-width:12;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+            <circle
+               r="30.117647"
+               cy="227.99998"
+               cx="57.999996"
+               id="circle1544"
+               
style="opacity:1;fill:none;fill-opacity:0.3858268;stroke:#00000f;stroke-width:3.76470613;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          </g>
+          <g
+             transform="translate(14.00001,-13.999987)"
+             id="g1558"
+             style="display:inline;enable-background:new">
+            <path
+               
style="display:inline;opacity:0.15400002;fill:none;stroke:#ffffff;stroke-width:1.63784266;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+               d="m 11.890335,268.55054 15.45714,-15.45715"
+               id="path1548"
+               inkscape:connector-curvature="0" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1550-2"
+               d="m 35.99999,249.99999 -8,8"
+               
style="fill:none;stroke:#949390;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+            <path
+               
style="fill:none;stroke:#d5d3cf;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               d="m 35.99999,247.99999 -8,8"
+               id="path1552"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <path
+               
style="fill:none;stroke:#241f31;stroke-width:12;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+               d="m 27.99999,257.99999 -14,14"
+               id="path1554"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1556"
+               d="m 27.99999,255.99999 -14,14"
+               
style="fill:none;stroke:#424048;stroke-width:12;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+          </g>
+          <circle
+             transform="scale(-1,1)"
+             r="29.937637"
+             
style="display:inline;opacity:0.5;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.44194174;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             id="circle1560"
+             cx="-71.999969"
+             cy="212.06238" />
+          <circle
+             r="30.117647"
+             cy="214"
+             cx="72.000008"
+             id="circle1562"
+             
style="opacity:1;fill:none;fill-opacity:0.3858268;stroke:#1a5fb4;stroke-width:3.76470613;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+          <circle
+             
style="opacity:1;fill:none;fill-opacity:0.3858268;stroke:#62a0ea;stroke-width:3.76470613;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1564"
+             cx="72.000008"
+             cy="212"
+             r="30.117647" />
+          <path
+             sodipodi:nodetypes="cc"
+             
style="display:inline;opacity:0.15400002;fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+             d="M 25,255 41,239"
+             id="path1566"
+             inkscape:connector-curvature="0" />
+        </g>
+        <rect
+           clip-path="url(#clipPath1609)"
+           transform="matrix(0,1,1,0,-427.9697,519)"
+           ry="8"
+           rx="8"
+           y="88"
+           x="252"
+           height="36"
+           width="36"
+           id="rect1570"
+           
style="display:inline;opacity:1;fill:url(#linearGradient1574);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      </g>
+      <g
+         id="g2185"
+         transform="translate(19.359232,-27.373028)">
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:0.01129821px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect929-36-9-9-5"
+           width="112"
+           height="86"
+           x="-365.35922"
+           y="539.37305"
+           rx="7.9999995"
+           ry="7.999999" />
+        <rect
+           rx="3.9999998"
+           
style="display:inline;opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:0.01129821px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect946-0-7-4-0"
+           width="92"
+           height="76"
+           x="-361.35922"
+           y="543.37305"
+           ry="4" />
+        <path
+           inkscape:connector-curvature="0"
+           
style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1444-2-3-3-3);fill-opacity:1;stroke:none;stroke-width:0.01129821px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           d="m -365.35922,615.37304 v 4 c 0,4.432 3.568,8 8,8 h 96 c 4.432,0 8,-3.568 8,-8 v -4 c 0,4.432 
-3.568,8 -8,8 h -96 c -4.432,0 -8,-3.568 -8,-8 z"
+           id="rect929-3-6-3-9-3"
+           sodipodi:nodetypes="csssscssc" />
+        <rect
+           y="-615.37305"
+           x="-357.35922"
+           height="68"
+           width="84"
+           id="rect968-2-6"
+           
style="display:inline;opacity:0.05;vector-effect:none;fill:url(#radialGradient1030-8-1);fill-opacity:1;stroke:none;stroke-width:0.01121096px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           transform="scale(1,-1)" />
+        <path
+           id="path1092-6-1-3-7-5-5-1"
+           
style="display:inline;opacity:0.23600003;fill:none;stroke:#e5a50a;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+           d="m -357.35922,585.37304 h 26 l 10,-23 6,39 8,-16 h 34"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc" />
+        <path
+           id="path1092-6-1-3-7-5-1-0-0"
+           
style="display:inline;opacity:1;fill:none;stroke:url(#linearGradient1106-2-7);stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
+           d="m -357.35922,585.37304 h 26 l 10,-23 6,39 8,-16 h 6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc" />
+        <g
+           transform="translate(-373.35921,341.37304)"
+           id="g1063-6"
+           style="display:inline;enable-background:new">
+          <path
+             
style="display:inline;opacity:1;vector-effect:none;fill:#949390;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             d="m 115.99999,232 v 4 c 0,2.20914 -1.79086,4 -4,4 -2.20914,0 -4,-1.79086 -4,-4 v -2 l 4,-2 z"
+             id="path1066-3"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="csscccc" />
+          <path
+             sodipodi:nodetypes="ccsscc"
+             inkscape:connector-curvature="0"
+             id="path1074-2"
+             d="m 115.99999,248 v 6 h -4 c -2.216,0 -4,-1.784 -4,-4 v -2 z"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#949390;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <path
+             id="path1076-0"
+             d="m 115.99999,252 v -4 a 4,3.9999998 0 0 0 -4,-4 4,3.9999998 0 0 0 -4,4 4,3.9999998 0 0 0 4,4 
z"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             inkscape:connector-curvature="0" />
+          <ellipse
+             ry="1.0000002"
+             rx="1"
+             cy="250"
+             cx="-113.99997"
+             id="ellipse1078-6"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#68676b;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             transform="scale(-1,1)" />
+          <path
+             inkscape:connector-curvature="0"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             d="m 115.99999,230 v 4 a 4,3.9999998 0 0 1 -4,4 4,3.9999998 0 0 1 -4,-4 4,3.9999998 0 0 1 4,-4 
z"
+             id="path1080-1" />
+          <ellipse
+             transform="scale(-1)"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#68676b;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="ellipse1082-5"
+             cx="-113.99997"
+             cy="-232"
+             rx="1"
+             ry="1.0000002" />
+          <path
+             sodipodi:nodetypes="csscccc"
+             inkscape:connector-curvature="0"
+             id="path1084-5"
+             d="m 107.99999,218 v 4 c 0,2.20914 1.79086,4 4,4 2.20914,0 4,-1.79086 4,-4 v -2 l -4,-2 z"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#949390;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+          <path
+             id="path1086-4"
+             d="m 107.99999,216 v 4 a 4,3.9999998 0 0 0 4,4 4,3.9999998 0 0 0 4,-4 4,3.9999998 0 0 0 -4,-4 z"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             inkscape:connector-curvature="0" />
+          <ellipse
+             ry="1.0000002"
+             rx="1"
+             cy="-218"
+             cx="109.99997"
+             id="ellipse1088-7"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#68676b;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             transform="scale(1,-1)" />
+          <path
+             
style="display:inline;opacity:1;vector-effect:none;fill:#949390;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             d="m 115.99999,206 v 6 h -4 c -2.216,0 -4,-1.784 -4,-4 v -2 z"
+             id="path1090-6"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="ccsscc" />
+          <path
+             inkscape:connector-curvature="0"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#d5d3cf;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             d="m 115.99999,210 v -4 a 4,3.9999998 0 0 0 -4,-4 4,3.9999998 0 0 0 -4,4 4,3.9999998 0 0 0 4,4 
z"
+             id="path1092-5" />
+          <ellipse
+             transform="scale(-1,1)"
+             
style="display:inline;opacity:1;vector-effect:none;fill:#68676b;fill-opacity:1;stroke:none;stroke-width:3.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="ellipse1094-6"
+             cx="-113.99997"
+             cy="208"
+             rx="1"
+             ry="1.0000002" />
+        </g>
+      </g>
+      <g
+         id="g2539"
+         transform="translate(9.5367431e-7,2.4e-4)"
+         style="display:inline;enable-background:new">
+        <rect
+           ry="8"
+           rx="7.999999"
+           y="225.99976"
+           x="12.000266"
+           height="62"
+           width="104"
+           id="rect1081-1"
+           
style="display:inline;vector-effect:none;fill:url(#linearGradient8402);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <g
+           id="g1883-9"
+           transform="translate(2.6595592e-4,-8.0002393)">
+          <rect
+             
style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient8404);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+             id="rect1172-1"
+             width="87.999992"
+             height="46"
+             x="19.999998"
+             y="234" />
+          <rect
+             
style="opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:1.12328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1174-3"
+             width="87.999992"
+             height="66"
+             x="19.999998"
+             y="208" />
+        </g>
+        <rect
+           
style="display:inline;vector-effect:none;fill:url(#linearGradient8406);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1164-8"
+           width="104"
+           height="38"
+           x="12.000266"
+           y="223.99976"
+           rx="7.999999"
+           ry="8" />
+        <rect
+           
style="display:inline;vector-effect:none;fill:url(#linearGradient8408);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect1476-4"
+           width="104"
+           height="62"
+           x="12.000266"
+           y="225.99976"
+           rx="7.999999"
+           ry="8" />
+        <rect
+           
style="vector-effect:none;fill:#5e5c64;fill-opacity:1;stroke:none;stroke-width:1.14018;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1478-9"
+           width="104"
+           height="60"
+           x="12.000267"
+           y="223.99976"
+           rx="9.454545"
+           ry="8" />
+        <g
+           id="g3308"
+           transform="translate(0,-2)">
+          <g
+             transform="translate(-578.75348,-12.522289)"
+             id="g1953">
+            <g
+               style="display:inline;enable-background:new"
+               transform="translate(578.75348,10.522289)"
+               id="g1668-6">
+              <rect
+                 y="234"
+                 x="19.999998"
+                 height="46"
+                 width="87.999992"
+                 id="rect1666-2"
+                 
style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1938);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+            </g>
+            <g
+               transform="translate(578.75348,16.522289)"
+               style="display:inline;enable-background:new"
+               id="g1688-9">
+              <path
+                 
style="display:inline;fill:#000000;fill-opacity:0.137255;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+                 d="m 108,272 h -0.5 v 1 h 0.5 z m -44.507811,0 44.000001,1 v -1 z"
+                 id="path1680-2"
+                 inkscape:connector-curvature="0"
+                 sodipodi:nodetypes="ccccccccc" />
+              <path
+                 sodipodi:nodetypes="ccccccccc"
+                 inkscape:connector-curvature="0"
+                 id="path1682-7"
+                 d="m 108,272 h -0.5 v 1 h 0.5 z m -44.507811,0 44.000001,1 v -1 z"
+                 
style="display:inline;fill:#000000;fill-opacity:0.137255;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
 />
+              <path
+                 
style="display:inline;fill:#000000;fill-opacity:0.137255;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+                 d="m 108,270 h -0.5 v 1 h 0.5 z m -47.507811,0 47.000001,1 v -1 z"
+                 id="path1684-0"
+                 inkscape:connector-curvature="0"
+                 sodipodi:nodetypes="ccccccccc" />
+              <path
+                 sodipodi:nodetypes="ccccccccc"
+                 inkscape:connector-curvature="0"
+                 id="path1686-9"
+                 d="m 108,268 h -0.5 v 1 h 0.5 z m -50.507811,0 50.000001,1 v -1 z"
+                 
style="display:inline;fill:#000000;fill-opacity:0.137255;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
 />
+            </g>
+            <rect
+               
style="display:inline;opacity:1;vector-effect:none;fill:#000000;fill-opacity:0.137255;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+               id="rect1749-2"
+               width="88"
+               height="7.9999995"
+               x="598.75348"
+               y="282.52228" />
+          </g>
+          <rect
+             y="252"
+             x="26"
+             height="14"
+             width="4"
+             id="rect2344"
+             style="opacity:0.4;fill:#241f31;stroke:none;stroke-width:5.9981;stroke-opacity:0.461288" />
+          <g
+             transform="matrix(1,0,0,1.75,0,-189)"
+             style="opacity:0.2;stroke-width:0.755929"
+             id="g2585">
+            <rect
+               style="opacity:1;fill:#241f31;stroke:none;stroke-width:4.53414;stroke-opacity:0.461288"
+               id="rect2352"
+               width="9.4649925"
+               height="5.1428704"
+               x="40.535011"
+               y="254.85715" />
+            <rect
+               y="252"
+               x="36"
+               height="8"
+               width="10"
+               id="rect2346"
+               style="opacity:1;fill:#241f31;stroke:none;stroke-width:4.53414;stroke-opacity:0.461288" />
+            <rect
+               y="252"
+               x="56"
+               height="8"
+               width="18"
+               id="rect2354"
+               style="opacity:1;fill:#241f31;stroke:none;stroke-width:4.53414;stroke-opacity:0.461288" />
+            <rect
+               style="opacity:1;fill:#241f31;stroke:none;stroke-width:4.53415;stroke-opacity:0.461288"
+               id="rect2364"
+               width="6"
+               height="3.4285715"
+               x="72"
+               y="256.57144" />
+            <rect
+               style="opacity:1;fill:#241f31;stroke:none;stroke-width:4.53415;stroke-opacity:0.461288"
+               id="rect2366"
+               width="6"
+               height="8"
+               x="84"
+               y="252" />
+          </g>
+        </g>
+        <rect
+           
style="opacity:0.2;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.14018;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1988"
+           width="111.99973"
+           height="56.00024"
+           x="8.000267"
+           y="199.99976"
+           rx="9.454545"
+           ry="8"
+           clip-path="url(#clipPath1992)" />
+        <rect
+           ry="8"
+           rx="7.9999986"
+           y="214"
+           x="7.999999"
+           height="37.999756"
+           width="112.00026"
+           id="rect1930"
+           
style="display:inline;vector-effect:none;fill:url(#linearGradient1932);fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           ry="8"
+           rx="9.454545"
+           y="191.99976"
+           x="8.000267"
+           height="56.00024"
+           width="111.99973"
+           id="rect1488-8"
+           
style="vector-effect:none;fill:#3584e4;fill-opacity:1;stroke:none;stroke-width:1.14018;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+        <path
+           
style="display:inline;fill:none;stroke:url(#linearGradient143387);stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           d="m 32.823351,215.99976 62.35383,-36"
+           id="path1732-5"
+           inkscape:connector-curvature="0" />
+        <g
+           transform="translate(0,1)"
+           id="g2076">
+          <circle
+             r="15.999751"
+             cy="-219.00024"
+             cx="64.000275"
+             id="circle1496-5"
+             
style="display:inline;vector-effect:none;fill:url(#linearGradient8414);fill-opacity:1;stroke:none;stroke-width:15.9998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             transform="scale(1,-1)" />
+          <circle
+             transform="matrix(0,-1,-1,0,0,0)"
+             
style="display:inline;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:15.9998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             id="circle1498-9"
+             cx="-216.99995"
+             cy="-64.000275"
+             r="15.999798" />
+        </g>
+        <g
+           id="g973"
+           transform="translate(2.6595592e-4,-6.0002393)">
+          <path
+             
style="fill:url(#linearGradient8416);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             d="m 59,205 -1,2 1,2 -1,2 1,2 -1,2 1,2 -1,2 1,2 -1,2 v 1 c 3e-4,2.14329 1.143853,4.12367 
3,5.19531 1.856406,1.0718 4.143594,1.0718 6,0 1.856147,-1.07164 2.9997,-3.05202 3,-5.19531 v -3 l -1,-2 1,-2 
-1,-2 1,-2 -1,-2 1,-2 -1,-2 1,-2 -1,-2 z"
+             id="path1500-2"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cccccccccccsscccccccccccc" />
+          <g
+             transform="translate(0,2)"
+             id="g1485-6">
+            <path
+               sodipodi:nodetypes="czcczcc"
+               inkscape:connector-curvature="0"
+               id="path1502-8"
+               d="m 69.000686,204.99955 c 0,0 -1.352518,3.65721 -4.912302,4.01705 C 60.5286,209.37644 59,207 
59,207 l -1,2 c 0,0 2.09255,2.78313 6.088384,2.55042 C 68.084218,211.31771 69.87645,207.0386 70,206.99999 Z"
+               
style="fill:#ffffff;fill-opacity:0.38189;stroke:none;stroke-width:0.0821677;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+            <path
+               sodipodi:nodetypes="csccsccc"
+               id="path1504-5"
+               d="m 69.999996,206.99964 c -0.12355,0.0386 -1.915778,4.31807 -5.911612,4.55078 
-3.995834,0.23271 -6.088388,-2.55078 -6.088388,-2.55078 l 1,2 c 0,0 1.528604,2.37546 5.088388,2.01562 
3.559784,-0.35984 4.911612,-4.01562 4.911612,-4.01562 l 0.04297,0.0859 z"
+               
style="fill:#241f31;fill-opacity:0.338583;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               inkscape:connector-curvature="0" />
+            <path
+               
style="fill:#ffffff;fill-opacity:0.38189;stroke:none;stroke-width:0.0821677;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               d="m 69.000686,212.99955 c 0,0 -1.352518,3.65721 -4.912302,4.01705 C 60.5286,217.37644 59,215 
59,215 l -1,2 c 0,0 2.09255,2.78313 6.088384,2.55042 C 68.084218,219.31771 69.87645,215.0386 70,214.99999 Z"
+               id="path1525-2"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="czcczcc" />
+            <path
+               sodipodi:nodetypes="czcczcc"
+               inkscape:connector-curvature="0"
+               id="path1527-8"
+               d="m 69.000686,216.99955 c 0,0 -1.440906,3.65721 -5.00069,4.01705 C 60.440212,221.37644 
59,219 59,219 l -1,2 c 0,0 2.004162,2.78313 5.999996,2.55042 C 67.99583,223.31771 69.87645,219.0386 
70,218.99999 Z"
+               
style="fill:#ffffff;fill-opacity:0.38189;stroke:none;stroke-width:0.0821677;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+            <path
+               
style="fill:#ffffff;fill-opacity:0.38189;stroke:none;stroke-width:0.0821677;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               d="m 69.000686,208.99955 c 0,0 -1.352518,3.65721 -4.912302,4.01705 C 60.5286,213.37644 59,211 
59,211 l -1,2 c 0,0 2.09255,2.78313 6.088384,2.55042 C 68.084218,215.31771 69.87645,211.0386 70,210.99999 Z"
+               id="path1530-3"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="czcczcc" />
+            <path
+               sodipodi:nodetypes="csccsccc"
+               inkscape:connector-curvature="0"
+               id="path1532-6"
+               transform="translate(0,172)"
+               d="m 70,43 c -0.12355,0.03861 -1.915778,4.318071 -5.911612,4.550781 C 60.092554,47.783491 
58,45 58,45 l 1,2 c 0,0 1.528604,2.375465 5.088388,2.015625 C 67.648172,48.655785 69,45 69,45 l 
0.04297,0.08594 z"
+               
style="fill:#241f31;fill-opacity:0.338583;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+            <path
+               sodipodi:nodetypes="csccsccc"
+               inkscape:connector-curvature="0"
+               
style="fill:#241f31;fill-opacity:0.338583;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+               d="m 69.999996,210.99964 c -0.12355,0.0386 -1.915778,4.31807 -5.911612,4.55078 
-3.995834,0.23271 -6.088388,-2.55078 -6.088388,-2.55078 l 1,2 c 0,0 1.528604,2.37546 5.088388,2.01562 
3.559784,-0.35984 4.911612,-4.01562 4.911612,-4.01562 l 0.04297,0.0859 z"
+               id="path1534-7" />
+          </g>
+        </g>
+        <g
+           id="g1254">
+          <circle
+             transform="scale(1,-1)"
+             
style="display:inline;vector-effect:none;fill:url(#linearGradient8422);fill-opacity:1;stroke:none;stroke-width:15.9998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             id="circle1510-6"
+             cx="64.000282"
+             cy="-200.00005"
+             r="11.999864" />
+          <circle
+             r="11.999864"
+             cy="-64.000282"
+             cx="-194.00011"
+             id="circle1512-6"
+             
style="display:inline;vector-effect:none;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:15.9998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             transform="matrix(0,-1,-1,0,0,0)" />
+          <path
+             
style="display:inline;vector-effect:none;fill:#77767b;fill-opacity:1;stroke:none;stroke-width:15.9998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             d="m 52.02175,199.40601 a 11.999864,11.999864 0 0 0 -0.02148,0.59375 11.999864,11.999864 0 0 0 
12,12 11.999864,11.999864 0 0 0 12,-12 11.999864,11.999864 0 0 0 -0.01953,-0.40625 11.999864,11.999864 0 0 1 
-11.980469,11.40625 11.999864,11.999864 0 0 1 -11.978516,-11.59375 z"
+             id="circle1814-2"
+             inkscape:connector-curvature="0" />
+          <circle
+             transform="matrix(0,-1,-1,0,0,0)"
+             
style="display:inline;vector-effect:none;fill:url(#radialGradient1505-1);fill-opacity:1;stroke:none;stroke-width:15.9998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
+             id="circle1514-9"
+             cx="-194.00011"
+             cy="-64.000282"
+             r="6.0001068" />
+        </g>
+        <path
+           sodipodi:nodetypes="cc"
+           
style="fill:#77767b;stroke:url(#linearGradient8424);stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+           d="M 32.823351,215.99976 52.40883,204.69208"
+           id="path1516-7"
+           inkscape:connector-curvature="0" />
+        <path
+           inkscape:connector-curvature="0"
+           id="path1742-6"
+           d="M 32.823351,215.99976 52.40883,204.69208"
+           
style="display:inline;fill:#77767b;stroke:url(#linearGradient2370-3);stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;enable-background:new"
+           sodipodi:nodetypes="cc" />
+      </g>
+    </g>
+    <g
+       inkscape:groupmode="layer"
+       id="layer3"
+       inkscape:label="grid"
+       style="display:inline"
+       sodipodi:insensitive="true">
+      <circle
+         cx="64.000031"
+         cy="236"
+         r="59.504131"
+         id="circle2892"
+         
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <rect
+         ry="7.9292889"
+         rx="8.701004"
+         y="180.49496"
+         x="20.495007"
+         height="111.01005"
+         width="87.009987"
+         id="rect2894"
+         
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <rect
+         ry="7.9238095"
+         rx="7.9238095"
+         y="184.49524"
+         x="12.495266"
+         height="103.00952"
+         width="103.00952"
+         id="rect2896"
+         
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <rect
+         ry="8.701005"
+         rx="7.9292889"
+         y="200.49496"
+         x="8.4950066"
+         height="87.010048"
+         width="111.01004"
+         id="rect2898"
+         
style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001,
 
0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path2900"
+         d="M 2.6203015e-5,288.99999 H 128.00003"
+         
style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
 />
+    </g>
+    <g
+       id="g1648"
+       transform="translate(-120.50005,-26)">
+      <g
+         id="g1207"
+         style="display:inline;enable-background:new"
+         transform="translate(-89.5,194)">
+        <rect
+           ry="8"
+           rx="8"
+           y="234"
+           x="20"
+           height="58"
+           width="88"
+           id="rect1041"
+           
style="opacity:1;vector-effect:none;fill:url(#linearGradient1049);fill-opacity:1;stroke:none;stroke-width:0.01184966px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+        <rect
+           
style="opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:0.01184966px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
+           id="rect15435-6"
+           width="88"
+           height="108"
+           x="20"
+           y="180"
+           rx="8"
+           ry="8" />
+        <rect
+           ry="4"
+           rx="4"
+           y="186"
+           x="24"
+           height="98"
+           width="80"
+           id="rect1167-6"
+           
style="display:inline;opacity:1;vector-effect:none;fill:#1a5fb4;fill-opacity:1;stroke:none;stroke-width:0.0119126px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
 />
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:#3584e4;fill-opacity:1;stroke:none;stroke-width:0.0119126px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect15441-8"
+           width="80"
+           height="98"
+           x="24"
+           y="184"
+           rx="4"
+           ry="4" />
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:#1c71d8;fill-opacity:1;stroke:none;stroke-width:0.01190936px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect15443-6"
+           width="80"
+           height="2"
+           x="24"
+           y="216"
+           rx="0"
+           ry="0" />
+        <rect
+           
style="display:inline;opacity:1;vector-effect:none;fill:#1c71d8;fill-opacity:1;stroke:none;stroke-width:0.01190936px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+           id="rect15461-2"
+           width="80"
+           height="2"
+           x="24"
+           y="248"
+           rx="0"
+           ry="0" />
+        <g
+           id="g1088">
+          <path
+             sodipodi:nodetypes="sssccccccss"
+             inkscape:connector-curvature="0"
+             id="path26035"
+             d="m 55,196 h 18 c 1.662,0 3,1 3,3 v 5 H 72.03125 L 72,200 H 56 l 0.03125,4 H 52 v -5 c 
0,-1.662 1.338,-3 3,-3 z"
+             
style="opacity:1;vector-effect:none;fill:url(#linearGradient1278);fill-opacity:1;stroke:none;stroke-width:0.01184966px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
 />
+          <rect
+             
style="opacity:0.1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1059"
+             width="24"
+             height="4"
+             x="52"
+             y="202"
+             ry="1.5"
+             rx="1.5" />
+          <path
+             
style="opacity:1;fill:url(#linearGradient1280);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             d="m 55,200 c -1.662,0 -3,1.338 -3,3 v 1 h 4 v -2 h 16 v 2 h 4 v -1 c 0,-1.662 -1.338,-3 -3,-3 
z"
+             id="rect1061"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="ssccccccsss" />
+          <rect
+             y="202"
+             x="56"
+             height="2"
+             width="16"
+             id="rect1189"
+             
style="opacity:0.1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+        </g>
+        <use
+           x="0"
+           y="0"
+           xlink:href="#g1088"
+           id="use1090"
+           transform="translate(0,32)"
+           width="100%"
+           height="100%" />
+        <use
+           height="100%"
+           width="100%"
+           transform="translate(0,64)"
+           id="use1092"
+           xlink:href="#g1088"
+           y="0"
+           x="0" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/demo/icons/scalable/actions/widget-about-symbolic.svg 
b/demo/icons/scalable/actions/widget-about-symbolic.svg
new file mode 100644
index 00000000..12329841
--- /dev/null
+++ b/demo/icons/scalable/actions/widget-about-symbolic.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg";>
+    <path d="m 8 0 c -4.410156 0 -8 3.589844 -8 8 s 3.589844 8 8 8 s 8 -3.589844 8 -8 s -3.589844 -8 -8 -8 z 
m 0 2 c 3.332031 0 6 2.667969 6 6 s -2.667969 6 -6 6 s -6 -2.667969 -6 -6 s 2.667969 -6 6 -6 z m 0 1.875 c 
-0.621094 0 -1.125 0.503906 -1.125 1.125 s 0.503906 1.125 1.125 1.125 s 1.125 -0.503906 1.125 -1.125 s 
-0.503906 -1.125 -1.125 -1.125 z m -1.523438 3.125 c -0.265624 0.011719 -0.476562 0.230469 -0.476562 0.5 c 0 
0.277344 0.222656 0.5 0.5 0.5 h 0.5 v 3 h -0.5 c -0.277344 0 -0.5 0.222656 -0.5 0.5 s 0.222656 0.5 0.5 0.5 h 
3 c 0.277344 0 0.5 -0.222656 0.5 -0.5 s -0.222656 -0.5 -0.5 -0.5 h -0.5 v -4 h -2.5 c -0.007812 0 -0.015625 0 
-0.023438 0 z m 0 0" fill="#2e3436"/>
+</svg>
diff --git a/demo/icons/scalable/apps/org.example.Typeset.svg 
b/demo/icons/scalable/apps/org.example.Typeset.svg
new file mode 100644
index 00000000..b93b5b88
--- /dev/null
+++ b/demo/icons/scalable/apps/org.example.Typeset.svg
@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";><linearGradient id="a" gradientUnits="userSpaceOnUse"><stop 
offset="0" stop-color="#63452c"/><stop offset=".038" stop-color="#865e3c"/><stop offset=".077" 
stop-color="#63452c"/><stop offset=".923" stop-color="#63452c"/><stop offset=".962" 
stop-color="#865e3c"/><stop offset="1" stop-color="#63452c"/></linearGradient><linearGradient id="d" 
gradientTransform="matrix(.23214 0 0 .20395 -8.567 207.653)" x1="88.596" x2="536.596" xlink:href="#a" 
y1="-449.394" y2="-449.394"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="30" x2="104" y1="84" 
y2="98"><stop offset="0" stop-color="#deddda"/><stop offset="1" 
stop-color="#c0bfbc"/></linearGradient><linearGradient id="f" gradientTransform="matrix(.23214 0 0 .125 
-8.567 146.174)" x1="88.596" x2="536.596" xlink:href="#a" y1="-449.394" y2="-449.394"/><linearGradient id="g" 
gradientTransform="matrix(.23214 0 0 .20395 -8.567 207.653)" 
 gradientUnits="userSpaceOnUse" x1="88.596" x2="536.596" y1="-449.394" y2="-449.394"><stop offset="0" 
stop-color="#3d3846"/><stop offset=".038" stop-color="#77767b"/><stop offset=".077" 
stop-color="#3d3846"/><stop offset=".923" stop-color="#3d3846"/><stop offset=".962" 
stop-color="#77767b"/><stop offset="1" stop-color="#3d3846"/></linearGradient><linearGradient id="h" 
gradientUnits="userSpaceOnUse" x1="30" x2="104" y1="88" y2="102"><stop offset="0" stop-color="#f6f5f4"/><stop 
offset="1" stop-color="#deddda"/></linearGradient><filter id="b" height="100%" width="100%" x="0%" 
y="0%"><feColorMatrix in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><mask 
id="j"><g filter="url(#b)"><path fill-opacity=".4" d="M0 0h128v128H0z"/></g></mask><clipPath id="i"><path 
d="M0 0h192v152H0z"/></clipPath><mask id="l"><g filter="url(#b)"><path fill-opacity=".2" d="M0 
0h128v128H0z"/></g></mask><clipPath id="k"><path d="M0 0h192v152H0z"/></clipPath><clipPath id="m"><path 
d="M12 
 76h104v8H12zm0 0"/></clipPath><mask id="o"><g filter="url(#b)"><path fill-opacity=".2" d="M0 
0h128v128H0z"/></g></mask><clipPath id="n"><path d="M0 0h192v152H0z"/></clipPath><linearGradient id="p" 
gradientTransform="matrix(.25 0 0 .125 -14.149 136.174)" gradientUnits="userSpaceOnUse" x1="88.596" 
x2="536.596" y1="-449.394" y2="-449.394"><stop offset="0" stop-color="#1a5fb4"/><stop offset=".038" 
stop-color="#3584e4"/><stop offset=".077" stop-color="#1a5fb4"/><stop offset=".923" 
stop-color="#1a5fb4"/><stop offset=".962" stop-color="#3584e4"/><stop offset="1" 
stop-color="#1a5fb4"/></linearGradient><linearGradient id="q" gradientTransform="rotate(60 83.053 209)" 
gradientUnits="userSpaceOnUse" x1="61" x2="67" y1="220" y2="220"><stop offset="0" stop-color="#5e5c64"/><stop 
offset=".5" stop-color="#9a9996"/><stop offset="1" stop-color="#3d3846"/></linearGradient><linearGradient 
id="r" gradientTransform="matrix(2.66662 0 0 -2.66662 -106.664 -514.657)" gradientUnits="userSpaceOnUse" 
x1="58" x2
 ="70" y1="-211" y2="-211"><stop offset="0" stop-color="#77767b"/><stop offset=".5" 
stop-color="#9a9996"/><stop offset="1" stop-color="#77767b"/></linearGradient><linearGradient id="s" 
gradientUnits="userSpaceOnUse" x1="58" x2="70" y1="39.5" y2="39.5"><stop offset="0" 
stop-color="#5e5c64"/><stop offset=".5" stop-color="#c0bfbc"/><stop offset="1" 
stop-color="#3d3846"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse"><stop offset="0" 
stop-color="#77767b"/><stop offset=".5" stop-color="#c0bfbc"/><stop offset="1" 
stop-color="#77767b"/></linearGradient><linearGradient id="t" gradientTransform="matrix(1.99998 0 0 -1.99998 
-63.998 -393.995)" x1="58" x2="70" xlink:href="#c" y1="-211" y2="-211"/><radialGradient id="u" cx="-194.837" 
cy="-64" gradientTransform="matrix(0 -.7747 -.7747 0 14.42 -130.439)" gradientUnits="userSpaceOnUse" 
r="8"><stop offset="0" stop-color="#deddda"/><stop offset="1" 
stop-color="#77767b"/></radialGradient><linearGradient id="v" gradientTransform=
 "rotate(60 83.053 209)" x1="61" x2="67" xlink:href="#c" y1="220" y2="220"/><path d="M20 54h88a8 8 0 0 1 8 
8v46a8 8 0 0 1-8 8H20a8 8 0 0 1-8-8V62a8 8 0 0 1 8-8zm0 0" fill="url(#d)"/><path d="M20 54h88v46H20zm0 0" 
fill="url(#e)"/><path d="M20 28h88v66H20zm0 0" fill="#f6f5f4"/><path d="M20 52h88a8 8 0 0 1 8 8v22a8 8 0 0 
1-8 8H20a8 8 0 0 1-8-8V60a8 8 0 0 1 8-8zm0 0" fill="url(#f)"/><path d="M20 54h88a8 8 0 0 1 8 8v46a8 8 0 0 1-8 
8H20a8 8 0 0 1-8-8V62a8 8 0 0 1 8-8zm0 0" fill="url(#g)"/><path d="M21.453 52h85.094c5.219 0 9.453 3.582 
9.453 8v44c0 4.418-4.234 8-9.453 8H21.453c-5.219 0-9.453-3.582-9.453-8V60c0-4.418 4.234-8 9.453-8zm0 0" 
fill="#5e5c64"/><path d="M20 58h88v46H20zm0 0" fill="url(#h)"/><g fill-opacity=".137"><path d="M108 
102h-.5v1h.5zm-44.508 0 44 1v-1zm0 0"/><path d="M108 102h-.5v1h.5zm-44.508 0 44 1v-1zM108 
100h-.5v1h.5zm-47.508 0 47 1v-1zM108 98h-.5v1h.5zm-50.508 0 50 1v-1zm0 0"/><path d="M20 96h88v8H20zm0 
0"/></g><g clip-path="url(#i)" mask="url(#j)" transform="translate(
 -8 -16)"><path d="M34 94h4v14h-4zm0 0" fill="#241f31"/></g><g clip-path="url(#k)" fill="#241f31" 
mask="url(#l)" transform="translate(-8 -16)"><path d="M48.535 99H58v9h-9.465zm0 0"/><path d="M44 
94h10v14H44zM64 94h18v14H64zm0 0"/><path d="M80 102h6v6h-6zM92 94h6v14h-6zm0 0"/></g><g 
clip-path="url(#m)"><g clip-path="url(#n)" mask="url(#o)" transform="translate(-8 -16)"><path d="M25.453 
44h93.094c5.219 0 9.453 3.582 9.453 8v40c0 4.418-4.234 8-9.453 8H25.453C20.234 100 16 96.418 16 92V52c0-4.418 
4.234-8 9.453-8zm0 0"/></g></g><path d="M16 42h96a8 8 0 0 1 8 8v22a8 8 0 0 1-8 8H16a8 8 0 0 1-8-8V50a8 8 0 0 
1 8-8zm0 0" fill="url(#p)"/><path d="M17.453 20h93.094c5.219 0 9.453 3.582 9.453 8v40c0 4.418-4.234 8-9.453 
8H17.453C12.234 76 8 72.418 8 68V28c0-4.418 4.234-8 9.453-8zm0 0" fill="#3584e4"/><path d="m32.824 216 
62.352-36" fill="none" stroke="url(#q)" stroke-linecap="round" stroke-width="6" transform="translate(0 
-172)"/><path d="M80 48c0-8.836-7.164-16-16-16s-16 7.164-16 16 7.164 16 16 16
  16-7.164 16-16zm0 0" fill="url(#r)"/><path d="M64 30c-8.836 0-16 7.164-16 16s7.164 16 16 16 16-7.164 
16-16-7.164-16-16-16zm0 0" fill="#deddda"/><path d="m59 27-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1 2-1 2v1a5.998 5.998 
0 0 0 9 5.195c1.855-1.07 3-3.05 3-5.195v-3l-1-2 1-2-1-2 1-2-1-2 1-2-1-2 1-2-1-2zm0 0" fill="url(#s)"/><path 
d="M69 29s-1.352 3.656-4.91 4.016C60.527 33.375 59 31 59 31l-1 2s2.094 2.781 6.09 2.55c3.996-.234 5.785-4.51 
5.91-4.55zm0 0" fill="#fff" fill-opacity=".38"/><path d="M70 31c-.125.04-1.914 4.316-5.91 4.55C60.094 35.782 
58 33 58 33l1 2s1.527 2.375 5.09 2.016C67.648 36.656 69 33 69 33l.043.086zm0 0" fill="#241f31" 
fill-opacity=".337"/><path d="M69 37s-1.352 3.656-4.91 4.016C60.527 41.375 59 39 59 39l-1 2s2.094 2.781 6.09 
2.55c3.996-.234 5.785-4.51 5.91-4.55zm0 0" fill="#fff" fill-opacity=".38"/><path d="M69 41s-1.441 3.656-5 
4.016S59 43 59 43l-1 2s2.004 2.781 6 2.55c3.996-.234 5.875-4.51 6-4.55zM69 33s-1.352 3.656-4.91 4.016C60.527 
37.375 59 35 59 35l-1 2s2.094 2.781 6.09 
 2.55c3.996-.234 5.785-4.51 5.91-4.55zm0 0" fill="#fff" fill-opacity=".38"/><path d="M70 39c-.125.04-1.914 
4.316-5.91 4.55S58 41 58 41l1 2s1.527 2.375 5.09 2.016C67.648 44.656 69 41 69 41l.043.086zm0 0" 
fill="#241f31" fill-opacity=".337"/><path d="M70 35c-.125.04-1.914 4.316-5.91 4.55C60.094 39.782 58 37 58 
37l1 2s1.527 2.375 5.09 2.016C67.648 40.656 69 37 69 37l.043.086zm0 0" fill="#241f31" 
fill-opacity=".337"/><path d="M76 28c0-6.629-5.371-12-12-12s-12 5.371-12 12 5.371 12 12 12 12-5.371 12-12zm0 
0" fill="url(#t)"/><path d="M64 10c-6.629 0-12 5.371-12 12s5.371 12 12 12 12-5.371 12-12-5.371-12-12-12zm0 0" 
fill="#deddda"/><path d="M52.023 27.406c-.015.2-.02.395-.023.594 0 6.629 5.371 12 12 12s12-5.371 
12-12c-.004-.137-.012-.27-.02-.406C75.664 33.98 70.395 38.996 64 39c-6.465-.008-11.758-5.133-11.977-11.594zm0 
0" fill="#77767b"/><path d="M64 16c-3.313 0-6 2.688-6 6s2.688 6 6 6 6-2.688 6-6-2.688-6-6-6zm0 0" 
fill="url(#u)"/><path d="M32.824 216 52.41 204.69" fill="#77767b" stroke="url(#
 v)" stroke-linecap="round" stroke-width="6" transform="translate(0 -172)"/><path d="M32.824 216 52.41 
204.69" fill="#77767b" stroke="url(#q)" stroke-linecap="round" stroke-width="6" transform="translate(0 
-172)"/></svg>
\ No newline at end of file
diff --git a/demo/meson.build b/demo/meson.build
index 13280a64..d41d19e9 100644
--- a/demo/meson.build
+++ b/demo/meson.build
@@ -2,6 +2,17 @@ if get_option('examples')
 
 subdir('data')
 
+demo_config_data = configuration_data()
+demo_config_data.set_quoted('ADW_DEMO_VCS_TAG', '@VCS_TAG@')
+
+demo_config_h = vcs_tag(
+  input: configure_file(
+    output: 'config.h.in',
+    configuration: demo_config_data
+  ),
+  output: 'config.h'
+)
+
 adwaita_demo_resources = gnome.compile_resources(
    'adwaita-demo-resources',
    'adwaita-demo.gresources.xml',
@@ -12,6 +23,7 @@ adwaita_demo_resources = gnome.compile_resources(
 adwaita_demo_sources = [
   adwaita_demo_resources,
 
+  'pages/about/adw-demo-page-about.c',
   'pages/animations/adw-demo-page-animations.c',
   'pages/avatar/adw-demo-page-avatar.c',
   'pages/buttons/adw-demo-page-buttons.c',
@@ -32,8 +44,10 @@ adwaita_demo_sources = [
   'pages/welcome/adw-demo-page-welcome.c',
 
   'adwaita-demo.c',
+  'adw-demo-debug-info.c',
   'adw-demo-preferences-window.c',
   'adw-demo-window.c',
+  demo_config_h,
   libadwaita_generated_headers,
 ]
 
diff --git a/demo/pages/about/adw-demo-page-about.c b/demo/pages/about/adw-demo-page-about.c
new file mode 100644
index 00000000..a7f67e05
--- /dev/null
+++ b/demo/pages/about/adw-demo-page-about.c
@@ -0,0 +1,99 @@
+#include "adw-demo-page-about.h"
+
+#include <glib/gi18n.h>
+
+struct _AdwDemoPageAbout
+{
+  AdwBin parent_instance;
+};
+
+G_DEFINE_TYPE (AdwDemoPageAbout, adw_demo_page_about, ADW_TYPE_BIN)
+
+static void
+demo_run_cb (AdwDemoPageAbout *self)
+{
+  GtkRoot *root = gtk_widget_get_root (GTK_WIDGET (self));
+  GtkWidget *about;
+
+  const char *developers[] = {
+    "Angela Avery <angela example org>",
+    NULL
+  };
+
+  const char *artists[] = {
+    "GNOME Design Team",
+    NULL
+ };
+
+  const char *special_thanks[] = {
+    "My cat",
+    NULL
+ };
+
+  const char *release_notes = "\
+<p>\
+  This release adds the following features:\
+</p>\
+<ul>\
+  <li>Added a way to export fonts.</li>\
+  <li>Better support for <code>monospace</code> fonts.</li>\
+  <li>Added a way to preview <em>italic</em> text.</li>\
+  <li>Bug fixes and performance improvements.</li>\
+  <li>Translation updates.</li>\
+</ul>\
+  ";
+
+  about =
+    g_object_new (ADW_TYPE_ABOUT_WINDOW,
+                  "transient-for", root,
+                  "application-icon", "org.example.Typeset",
+                  "application-name", _("Typeset"),
+                  "developer-name", _("Angela Avery"),
+                  "version", "1.2.3",
+                  "release-notes-version", "1.2.0",
+                  "release-notes", release_notes,
+                  "comments", _("Typeset is an app that doesn’t exist and is used as an example content for 
this about window."),
+                  "website", "https://example.org";,
+                  "issue-url", "https://example.org";,
+                  "support-url", "https://example.org";,
+                  "copyright", "© 2022 Angela Avery",
+                  "license-type", GTK_LICENSE_LGPL_2_1,
+                  "developers", developers,
+                  "artists", artists,
+                  "translator-credits", _("translator-credits"),
+                  NULL);
+
+  adw_about_window_add_link (ADW_ABOUT_WINDOW (about),
+                             _("_Documentation"),
+                             
"https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.AboutWindow.html";);
+
+  adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
+                                      _("Fonts"),
+                                      NULL,
+                                      GTK_LICENSE_CUSTOM,
+                                      "This application uses font data from <a 
href='https://example.org'>somewhere</a>.");
+
+  adw_about_window_add_acknowledgement_section (ADW_ABOUT_WINDOW (about),
+                                                _("Special thanks to"),
+                                                special_thanks);
+
+  gtk_window_present (GTK_WINDOW (about));
+
+  gtk_window_present (GTK_WINDOW (about));
+}
+
+static void
+adw_demo_page_about_class_init (AdwDemoPageAboutClass *klass)
+{
+  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/Adwaita1/Demo/ui/pages/about/adw-demo-page-about.ui");
+
+  gtk_widget_class_install_action (widget_class, "demo.run", NULL, (GtkWidgetActionActivateFunc) 
demo_run_cb);
+}
+
+static void
+adw_demo_page_about_init (AdwDemoPageAbout *self)
+{
+  gtk_widget_init_template (GTK_WIDGET (self));
+}
diff --git a/demo/pages/about/adw-demo-page-about.h b/demo/pages/about/adw-demo-page-about.h
new file mode 100644
index 00000000..35c733c9
--- /dev/null
+++ b/demo/pages/about/adw-demo-page-about.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include <adwaita.h>
+
+G_BEGIN_DECLS
+
+#define ADW_TYPE_DEMO_PAGE_ABOUT (adw_demo_page_about_get_type())
+
+G_DECLARE_FINAL_TYPE (AdwDemoPageAbout, adw_demo_page_about, ADW, DEMO_PAGE_ABOUT, AdwBin)
+
+G_END_DECLS
diff --git a/demo/pages/about/adw-demo-page-about.ui b/demo/pages/about/adw-demo-page-about.ui
new file mode 100644
index 00000000..0430d6a2
--- /dev/null
+++ b/demo/pages/about/adw-demo-page-about.ui
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk" version="4.0"/>
+  <requires lib="libadwaita" version="1.0"/>
+  <template class="AdwDemoPageAbout" parent="AdwBin">
+    <property name="child">
+      <object class="AdwStatusPage">
+        <property name="icon-name">widget-about-symbolic</property>
+        <property name="title" translatable="yes">About Window</property>
+        <property name="description" translatable="yes">An about window.</property>
+        <property name="child">
+          <object class="GtkButton">
+            <property name="label" translatable="yes">Run Demo</property>
+            <property name="halign">center</property>
+            <property name="action-name">demo.run</property>
+            <style>
+              <class name="pill"/>
+            </style>
+          </object>
+        </property>
+      </object>
+    </property>
+  </template>
+</interface>
diff --git a/doc/images/about-window-credits-dark.png b/doc/images/about-window-credits-dark.png
new file mode 100644
index 00000000..51af7c31
Binary files /dev/null and b/doc/images/about-window-credits-dark.png differ
diff --git a/doc/images/about-window-credits.png b/doc/images/about-window-credits.png
new file mode 100644
index 00000000..2491c090
Binary files /dev/null and b/doc/images/about-window-credits.png differ
diff --git a/doc/images/about-window-dark.png b/doc/images/about-window-dark.png
new file mode 100644
index 00000000..d6b04d4a
Binary files /dev/null and b/doc/images/about-window-dark.png differ
diff --git a/doc/images/about-window.png b/doc/images/about-window.png
new file mode 100644
index 00000000..da4b5d7a
Binary files /dev/null and b/doc/images/about-window.png differ
diff --git a/doc/libadwaita.toml.in b/doc/libadwaita.toml.in
index 5be4004a..27de1b24 100644
--- a/doc/libadwaita.toml.in
+++ b/doc/libadwaita.toml.in
@@ -54,6 +54,10 @@ content_files = [
   "visual-index.md",
 ]
 content_images = [
+  "images/about-window.png",
+  "images/about-window-dark.png",
+  "images/about-window-credits.png",
+  "images/about-window-credits-dark.png",
   "images/action-row.png",
   "images/action-row-dark.png",
   "images/adaptive-boxed-lists-narrow.png",
diff --git a/doc/tools/data/about-window-credits.ui b/doc/tools/data/about-window-credits.ui
new file mode 100644
index 00000000..5f8de338
--- /dev/null
+++ b/doc/tools/data/about-window-credits.ui
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk" version="4.0"/>
+  <requires lib="libadwaita" version="1.0"/>
+  <menu id="demo_menu"/>
+  <object class="AdwBin" id="widget">
+    <property name="width-request">400</property>
+    <property name="child">
+      <object class="AdwPreferencesGroup">
+        <property name="margin-top">12</property>
+        <property name="margin-bottom">12</property>
+        <property name="margin-start">12</property>
+        <property name="margin-end">12</property>
+        <child>
+          <object class="AdwActionRow">
+            <property name="title">Edgar Allan Poe</property>
+            <property name="tooltip-text">mailto:edgar poe com</property>
+            <property name="activatable">True</property>
+            <child>
+              <object class="GtkImage">
+                <property name="icon-name">adw-mail-send-symbolic</property>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child>
+          <object class="AdwActionRow">
+            <property name="title">The GNOME Project</property>
+            <property name="tooltip-text">https://www.gnome.org</property>
+            <property name="activatable">True</property>
+            <child>
+              <object class="GtkImage">
+                <property name="icon-name">adw-external-link-symbolic</property>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </property>
+    <style>
+      <class name="docs-background"/>
+    </style>
+  </object>
+</interface>
diff --git a/doc/tools/data/about-window.ui b/doc/tools/data/about-window.ui
new file mode 100644
index 00000000..b43699f6
--- /dev/null
+++ b/doc/tools/data/about-window.ui
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk" version="4.0"/>
+  <requires lib="libadwaita" version="1.0"/>
+  <object class="AdwAboutWindow" id="widget">
+    <property name="application-icon">application-x-executable</property>
+    <property name="application-name" translatable="yes">Application</property>
+    <property name="developer-name" translatable="yes">Developer Name</property>
+    <property name="version" translatable="yes">1.2.3</property>
+    <property name="issue-url">https://example.org</property>
+    <property name="developers">Author</property>
+    <property name="copyright">© 2022 Example</property>
+  </object>
+</interface>
diff --git a/doc/visual-index.md b/doc/visual-index.md
index 0a2f42d2..97079e66 100644
--- a/doc/visual-index.md
+++ b/doc/visual-index.md
@@ -95,6 +95,13 @@ Slug: visual-index
   <img src="preferences-window.png" alt="preferences-window">
 </picture>](class.PreferencesWindow.html)
 
+## About Window
+
+[<picture>
+  <source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)">
+  <img src="about-window.png" alt="about-window">
+</picture>](class.AboutWindow.html)
+
 ## Navigation
 
 ### Carousel
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 31db95b2..1794c171 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,5 +1,7 @@
 # List of source files containing translatable strings.
 # Please keep this file sorted alphabetically.
+src/adw-about-window.c
+src/adw-about-window.ui
 src/adw-entry-row.ui
 src/adw-inspector-page.c
 src/adw-inspector-page.ui
diff --git a/src/adw-about-window.c b/src/adw-about-window.c
new file mode 100644
index 00000000..d6c43584
--- /dev/null
+++ b/src/adw-about-window.c
@@ -0,0 +1,3222 @@
+/*
+ * Copyright (C) 2021-2022 Purism SPC
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ */
+
+#include "config.h"
+#include <glib/gi18n-lib.h>
+
+#include "adw-about-window.h"
+
+#include "adw-action-row.h"
+#include "adw-leaflet.h"
+#include "adw-macros-private.h"
+#include "adw-message-dialog.h"
+#include "adw-preferences-group.h"
+#include "adw-toast-overlay.h"
+
+#define HEADERBAR_STYLE_THRESHOLD 190
+
+/**
+ * AdwAboutWindow:
+ *
+ * A window showing information about the application.
+ *
+ * <picture>
+ *   <source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)">
+ *   <img src="about-window.png" alt="about-window">
+ * </picture>
+ *
+ * An about window is typically opened when the user activates the `About …`
+ * item in the application's primary menu. All parts of the window are optional.
+ *
+ * ## Main page
+ *
+ * `AdwAboutWindow` prominently displays the application's icon, name, developer
+ * name and version. They can be set with the [property@AboutWindow:application-icon],
+ * [property@AboutWindow:application-name],
+ * [property@AboutWindow:developer-name] and [property@AboutWindow:version]
+ * respectively.
+ *
+ * ## What's New
+ *
+ * `AdwAboutWindow` provides a way for applications to display their release
+ * notes, set with the [property@AboutWindow:release-notes] property.
+ *
+ * Release notes are formatted the same way as
+ * [AppStream 
descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
+ *
+ * The supported formatting options are:
+ *
+ * * Paragraph (`<p>`)
+ * * Ordered list (`<ol>`), with list items (`<li>`)
+ * * Unordered list (`<ul>`), with list items (`<li>`)
+ *
+ * Within paragraphs and list items, emphasis (`<em>`) and inline code
+ * (`<code>`) text styles are supported. The emphasis is rendered in italic,
+ * while inline code is shown in a monospaced font.
+ *
+ * Any text outside paragraphs or list items is ignored.
+ *
+ * Nested lists are not supported.
+ *
+ * Only one version can be shown at a time. By default, the displayed version
+ * number matches [property@AboutWindow:version]. Use
+ * [property@AboutWindow:release-notes-version] to override it.
+ *
+ * ## Details
+ *
+ * The Details page displays the application comments and links.
+ *
+ * The comments can be set with the [property@AboutWindow:comments] property.
+ * Unlike [property@Gtk.AboutDialog:comments], this string can be long and
+ * detailed. It can also contain links and Pango markup.
+ *
+ * To set the application website, use [property@AboutWindow:website].
+ * To add extra links below the website, use [method@AboutWindow.add_link].
+ *
+ * If the Details page doesn't have any other content besides website, the
+ * website will be displayed on the main page instead.
+ *
+ * ## Troubleshooting
+ *
+ * `AdwAboutWindow` displays the following two links on the main page:
+ *
+ * * Support Questions, set with the [property@AboutWindow:support-url] property,
+ * * Report an Issue, set with the [property@AboutWindow:issue-url] property.
+ *
+ * Additionally, applications can provide debugging information. It will be
+ * shown separately on the Troubleshooting page. Use the
+ * [property@AboutWindow:debug-info] property to specify it.
+ *
+ * It's intended to be attached to issue reports when reporting issues against
+ * the application. As such, it cannot contain markup or links.
+ *
+ * `AdwAboutWindow` provides a quick way to save debug information to a file.
+ * When saving, [property@AboutWindow:debug-info-filename] would be used as
+ * the suggested filename.
+ *
+ * ## Credits and Acknowledgements
+ *
+ * The Credits page has the following default sections:
+ *
+ * * Developers, set with the [property@AboutWindow:developers] property,
+ * * Designers, set with the [property@AboutWindow:designers] property,
+ * * Artists, set with the [property@AboutWindow:artists] property,
+ * * Documenters, set with the [property@AboutWindow:documenters] property,
+ * * Translators, set with the [property@AboutWindow:translator-credits] property.
+ *
+ * When setting translator credits, use the strings `"translator-credits"` or
+ * `"translator_credits"` and mark them as translatable.
+ *
+ * The default sections that don't contain any names won't be displayed.
+ *
+ * The Credits page can also contain an arbitrary number of extra sections below
+ * the default ones. Use [method@AboutWindow.add_credit_section] to add them.
+ *
+ * The Acknowledgements page can be used to acknowledge additional people and
+ * organizations for their non-development contributions. Use
+ * [method@AboutWindow.add_acknowledgement_section] to add sections to it. For
+ * example, it can be used to list backers in a crowdfunded project or to give
+ * special thanks.
+ *
+ * Each of the people or organizations can have an email address or a website
+ * specified. To add a email address, use a string like
+ * `Edgar Allan Poe <edgar poe com>`. To specify a website with a title, use a
+ * string like `The GNOME Project https://www.gnome.org`:
+ *
+ * <picture>
+ *   <source srcset="about-window-credits-dark.png" media="(prefers-color-scheme: dark)">
+ *   <img src="about-window-credits.png" alt="about-window-credits">
+ * </picture>
+ *
+ * ## Legal
+ *
+ * The Legal page displays the copyright and licensing information for the
+ * application and other modules.
+ *
+ * The copyright string is set with the [property@AboutWindow:copyright]
+ * property and should be a short string of one or two lines, for example:
+ * `© 2022 Example`.
+ *
+ * Licensing information can be quickly set from a list of known licenses with
+ * the [property@AboutWindow:license-type] property. If the application's
+ * license is not in the list, [property@AboutWindow:license] can be used
+ * instead.
+ *
+ * To add information about other modules, such as application dependencies or
+ * data, use [method@AboutWindow.add_legal_section].
+ *
+ * ## Constructing
+ *
+ * To make constructing an `AdwAboutWindow` as convenient as possible, you can
+ * use the function [func@show_about_window] which constructs and shows a
+ * window.
+ *
+ * ```c
+ * static void
+ * show_about (GtkApplication *app)
+ * {
+ *   const char *developers[] = {
+ *     "Angela Avery",
+ *     NULL
+ *   };
+ *
+ *   const char *designers[] = {
+ *     "GNOME Design Team",
+ *     NULL
+ *   };
+ *
+ *   adw_show_about_window (gtk_application_get_active_window (app),
+ *                          "application-name", _("Example"),
+ *                          "application-icon", "org.example.App",
+ *                          "version", "1.2.3",
+ *                          "copyright", "© 2022 Angela Avery",
+ *                          "issue-url", "https://gitlab.gnome.org/example/example/-/issues/new";,
+ *                          "license-type", GTK_LICENSE_GPL_3_0,
+ *                          "developers", developers,
+ *                          "designers", designers,
+ *                          "translator-credits", _("translator-credits"),
+ *                          NULL);
+ * }
+ * ```
+ *
+ * ## CSS nodes
+ *
+ * `AdwAboutWindow` has a main CSS node with the name `window` and the
+ * style class `.about`.
+ *
+ * Since: 1.2
+ */
+
+/* Copied from GTK 4 for consistency with GtkAboutDialog. */
+typedef struct {
+  const char *name;
+  const char *url;
+} LicenseInfo;
+
+/* Copied from GTK 4 for consistency with GtkAboutDialog. */
+/* LicenseInfo for each GtkLicense type; keep in the same order as the
+ * enumeration. */
+static const LicenseInfo gtk_license_info [] = {
+  { NULL, NULL },
+  { NULL, NULL },
+  { N_("GNU General Public License, version 2 or later"), 
"https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"; },
+  { N_("GNU General Public License, version 3 or later"), "https://www.gnu.org/licenses/gpl-3.0.html"; },
+  { N_("GNU Lesser General Public License, version 2.1 or later"), 
"https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"; },
+  { N_("GNU Lesser General Public License, version 3 or later"), 
"https://www.gnu.org/licenses/lgpl-3.0.html"; },
+  { N_("BSD 2-Clause License"), "https://opensource.org/licenses/bsd-license.php"; },
+  { N_("The MIT License (MIT)"), "https://opensource.org/licenses/mit-license.php"; },
+  { N_("Artistic License 2.0"), "https://opensource.org/licenses/artistic-license-2.0.php"; },
+  { N_("GNU General Public License, version 2 only"), 
"https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"; },
+  { N_("GNU General Public License, version 3 only"), "https://www.gnu.org/licenses/gpl-3.0.html"; },
+  { N_("GNU Lesser General Public License, version 2.1 only"), 
"https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"; },
+  { N_("GNU Lesser General Public License, version 3 only"), "https://www.gnu.org/licenses/lgpl-3.0.html"; },
+  { N_("GNU Affero General Public License, version 3 or later"), 
"https://www.gnu.org/licenses/agpl-3.0.html"; },
+  { N_("GNU Affero General Public License, version 3 only"), "https://www.gnu.org/licenses/agpl-3.0.html"; },
+  { N_("BSD 3-Clause License"), "https://opensource.org/licenses/BSD-3-Clause"; },
+  { N_("Apache License, Version 2.0"), "https://opensource.org/licenses/Apache-2.0"; },
+  { N_("Mozilla Public License 2.0"), "https://opensource.org/licenses/MPL-2.0"; }
+};
+/* Copied from GTK 4 for consistency with GtkAboutDialog. */
+/* Keep this static assertion updated with the last element of the enumeration,
+ * and make sure it matches the last element of the array. */
+G_STATIC_ASSERT (G_N_ELEMENTS (gtk_license_info) - 1 == GTK_LICENSE_MPL_2_0);
+
+typedef struct {
+  char *name;
+  char **people;
+} CreditsSection;
+
+typedef struct {
+  char *title;
+  char *copyright;
+  char *license;
+  GtkLicense license_type;
+} LegalSection;
+
+struct _AdwAboutWindow {
+  AdwWindow parent_instance;
+
+  GtkWidget *leaflet;
+  GtkWidget *subpage_stack;
+  GtkWidget *toast_overlay;
+  GtkWidget *website_row;
+  GtkWidget *links_group;
+  GtkWidget *details_website_row;
+  GtkWidget *credits_box;
+  GtkWidget *legal_box;
+  GtkWidget *acknowledgements_box;
+  GtkWidget *debug_info_page;
+  GtkTextBuffer *release_notes_buffer;
+
+  char *application_icon;
+  char *application_name;
+  char *developer_name;
+  char *version;
+  char *release_notes_version;
+  char *release_notes;
+  char *comments;
+  char *website;
+  char *support_url;
+  char *issue_url;
+  char *debug_info;
+  char *debug_info_filename;
+  char **developers;
+  char **designers;
+  char **artists;
+  char **documenters;
+  char *translator_credits;
+  GSList *credit_sections;
+  char *copyright;
+  char *license;
+  GtkLicense license_type;
+  GSList *legal_sections;
+  gboolean has_custom_links;
+};
+
+G_DEFINE_TYPE (AdwAboutWindow, adw_about_window, ADW_TYPE_WINDOW)
+
+enum {
+  PROP_0,
+  PROP_APPLICATION_ICON,
+  PROP_APPLICATION_NAME,
+  PROP_DEVELOPER_NAME,
+  PROP_VERSION,
+  PROP_RELEASE_NOTES_VERSION,
+  PROP_RELEASE_NOTES,
+  PROP_COMMENTS,
+  PROP_WEBSITE,
+  PROP_SUPPORT_URL,
+  PROP_ISSUE_URL,
+  PROP_DEBUG_INFO,
+  PROP_DEBUG_INFO_FILENAME,
+  PROP_DEVELOPERS,
+  PROP_DESIGNERS,
+  PROP_ARTISTS,
+  PROP_DOCUMENTERS,
+  PROP_TRANSLATOR_CREDITS,
+  PROP_COPYRIGHT,
+  PROP_LICENSE_TYPE,
+  PROP_LICENSE,
+  LAST_PROP,
+};
+
+static GParamSpec *props[LAST_PROP];
+
+enum {
+  SIGNAL_ACTIVATE_LINK,
+  SIGNAL_LAST_SIGNAL,
+};
+
+static guint signals[SIGNAL_LAST_SIGNAL];
+
+static void
+free_credit_section (CreditsSection *section)
+{
+  g_free (section->name);
+  g_strfreev (section->people);
+  g_free (section);
+}
+
+static void
+free_legal_section (LegalSection *section)
+{
+  g_free (section->title);
+  g_free (section->license);
+  g_free (section);
+}
+
+static gboolean
+boolean_or (AdwAboutWindow *self,
+            int             number,
+            ...)
+{
+  va_list args;
+
+  va_start (args, number);
+
+  for (gsize i = 0; i < number; i++)
+    if (va_arg (args, gboolean)) {
+      va_end (args);
+
+      return TRUE;
+    }
+
+  va_end (args);
+
+  return FALSE;
+}
+
+static gboolean
+string_is_not_empty (AdwAboutWindow *self,
+                     const char     *string)
+{
+  return string && string[0];
+}
+
+static char *
+get_headerbar_name (AdwAboutWindow *self,
+                    double          value)
+{
+  double threshold = 0;
+
+  if (self->application_icon && *self->application_icon &&
+      self->application_name && *self->application_name)
+    threshold = HEADERBAR_STYLE_THRESHOLD;
+
+  return g_strdup (value > threshold ? "regular" : "top");
+}
+
+static inline void
+activate_link (AdwAboutWindow *self,
+               const char     *uri)
+{
+  gboolean ret = FALSE;
+  g_signal_emit (self, signals[SIGNAL_ACTIVATE_LINK], 0, uri, &ret);
+}
+
+static gboolean
+activate_link_cb (AdwAboutWindow *self,
+                  const char     *uri)
+{
+  activate_link (self, uri);
+
+  return GDK_EVENT_STOP;
+}
+
+static gboolean
+activate_link_default_cb (AdwAboutWindow *self,
+                          const char     *uri)
+{
+  /* FIXME: We need our own alternative that uses AdwMessageDialog for errors */
+  gtk_show_uri (GTK_WINDOW (self), uri, GDK_CURRENT_TIME);
+
+  return GDK_EVENT_STOP;
+}
+
+/* Adapted from text_buffer_new() in gtkaboutdialog.c */
+static void
+parse_person (char      *person,
+              char     **name,
+              char     **link,
+              gboolean  *is_email)
+{
+
+  const char *q1, *q2, *r1, *r2;
+
+  q1 = strchr (person, '<');
+  q2 = q1 ? strchr (q1, '>') : NULL;
+  r1 = strstr (person, "http://";);
+  r2 = strstr (person, "https://";);
+
+  if (!r1 || (r1 && r2 && r2 < r1))
+    r1 = r2;
+  if (r1) {
+    r2 = strpbrk (r1, " \n\t>");
+    if (!r2)
+      r2 = strchr (r1, '\0');
+  } else {
+    r2 = NULL;
+  }
+
+  if (r1 && r2 && (!q1 || !q2 || (r1 <= q1 + 1))) {
+    q1 = r1;
+    q2 = r2;
+  }
+
+  if (q1 && q2) {
+    *name = g_strndup (person, q1 - person);
+    *is_email = (*q1 == '<');
+
+    if (*is_email)
+      *link = g_strndup (q1 + 1, q2 - q1 - 1);
+    else
+      *link = g_strndup (q1, q2 - q1);
+  } else {
+    *name = g_strdup (person);
+    *link = NULL;
+    *is_email = FALSE;
+  }
+
+  g_strstrip (*name);
+}
+
+static void
+add_credits_section (GtkWidget   *box,
+                     const char  *title,
+                     char       **people)
+{
+  GtkWidget *group;
+  char **person;
+
+  if (!people || !*people)
+    return;
+
+  group = adw_preferences_group_new ();
+  adw_preferences_group_set_title (ADW_PREFERENCES_GROUP (group), title);
+
+  for (person = people; *person; person++) {
+    GtkWidget *row;
+    char *name = NULL;
+    char *link = NULL;
+    gboolean is_email = FALSE;
+
+    if (!*person)
+      continue;
+
+    parse_person (*person, &name, &link, &is_email);
+
+    row = adw_action_row_new ();
+    adw_preferences_row_set_use_markup (ADW_PREFERENCES_ROW (row), FALSE);
+    adw_preferences_row_set_title (ADW_PREFERENCES_ROW (row), name);
+    adw_preferences_group_add (ADW_PREFERENCES_GROUP (group), row);
+
+    if (link) {
+      GtkWidget *image = gtk_image_new ();
+
+      if (is_email)
+        gtk_image_set_from_icon_name (GTK_IMAGE (image), "adw-mail-send-symbolic");
+      else
+        gtk_image_set_from_icon_name (GTK_IMAGE (image), "adw-external-link-symbolic");
+
+      adw_action_row_add_suffix (ADW_ACTION_ROW (row), image);
+      gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), TRUE);
+      gtk_actionable_set_action_name (GTK_ACTIONABLE (row), "about.show-url");
+
+      if (is_email) {
+        char *escaped = g_uri_escape_string (link, NULL, FALSE);
+        char *mailto = g_strconcat ("mailto:";, escaped, NULL);
+
+        gtk_actionable_set_action_target (GTK_ACTIONABLE (row), "s", mailto);
+
+        g_free (mailto);
+        g_free (escaped);
+      } else {
+        gtk_actionable_set_action_target (GTK_ACTIONABLE (row), "s", link);
+      }
+
+      gtk_widget_set_tooltip_text (row, link);
+    }
+
+    g_free (name);
+    g_free (link);
+  }
+
+  gtk_box_append (GTK_BOX (box), group);
+}
+
+static void
+update_credits (AdwAboutWindow *self)
+{
+  GtkWidget *widget;
+  char **translators;
+  GSList *l;
+
+  while ((widget = gtk_widget_get_first_child (self->credits_box)))
+    gtk_box_remove (GTK_BOX (self->credits_box), widget);
+
+  if (self->translator_credits &&
+      g_strcmp0 (self->translator_credits, "translator_credits") &&
+      g_strcmp0 (self->translator_credits, "translator-credits"))
+    translators = g_strsplit (self->translator_credits, "\n", 0);
+  else
+    translators = NULL;
+
+  add_credits_section (self->credits_box, _("Code by"),          self->developers);
+  add_credits_section (self->credits_box, _("Design by"),        self->designers);
+  add_credits_section (self->credits_box, _("Artwork by"),       self->artists);
+  add_credits_section (self->credits_box, _("Documentation by"), self->documenters);
+  add_credits_section (self->credits_box, _("Translated by"),    translators);
+
+  for (l = self->credit_sections; l; l = l->next) {
+    CreditsSection *section = l->data;
+
+    add_credits_section (self->credits_box, section->name, section->people);
+  }
+
+  g_strfreev (translators);
+
+  gtk_widget_set_visible (self->credits_box,
+                          !!gtk_widget_get_first_child (self->credits_box));
+}
+
+static char *
+get_license_text (GtkLicense  license_type,
+                  const char *license)
+{
+  if (license_type == GTK_LICENSE_UNKNOWN)
+    return NULL;
+
+  if (license_type == GTK_LICENSE_CUSTOM)
+    return g_strdup (license);
+
+  /* Translators: this is the license preamble; the string at the end
+   * contains the name of the license as link text.
+   */
+  return g_strdup_printf (_("This application comes with absolutely no warranty. See the <a 
href=\"%s\">%s</a> for details."),
+                          gtk_license_info[license_type].url,
+                          _(gtk_license_info[license_type].name));
+}
+
+static void
+append_legal_section (AdwAboutWindow *self,
+                      LegalSection   *section,
+                      gboolean        force_title)
+{
+  GtkWidget *label;
+  char *license;
+
+  if (force_title)
+    g_assert (section->title);
+
+  license = get_license_text (section->license_type, section->license);
+
+  if ((!section->copyright || !*section->copyright) &&
+      (!license || !*license) && !force_title) {
+    g_free (license);
+
+    return;
+  }
+
+  if (section->title && *section->title) {
+    label = gtk_label_new (section->title);
+    gtk_label_set_wrap (GTK_LABEL (label), TRUE);
+    gtk_label_set_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD_CHAR);
+    gtk_label_set_xalign (GTK_LABEL (label), 0);
+    gtk_widget_add_css_class (label, "heading");
+    gtk_box_append (GTK_BOX (self->legal_box), label);
+  }
+
+  if ((!section->copyright || !*section->copyright) &&
+      (!license || !*license)) {
+    g_free (license);
+
+    return;
+  }
+
+  label = gtk_label_new (NULL);
+  gtk_label_set_wrap (GTK_LABEL (label), TRUE);
+  gtk_label_set_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD_CHAR);
+  gtk_label_set_xalign (GTK_LABEL (label), 0);
+  gtk_label_set_selectable (GTK_LABEL (label), TRUE);
+  gtk_widget_add_css_class (label, "body");
+  g_signal_connect_swapped (label, "activate-link", G_CALLBACK (activate_link_cb), self);
+
+  if (section->copyright && *section->copyright && license && *license) {
+    char *text = g_strconcat (section->copyright, "\n\n", license, NULL);
+
+    gtk_label_set_markup (GTK_LABEL (label), text);
+
+    g_free (text);
+  } else if (section->copyright && *section->copyright) {
+    gtk_label_set_markup (GTK_LABEL (label), section->copyright);
+  } else {
+    gtk_label_set_markup (GTK_LABEL (label), license);
+  }
+
+  gtk_box_append (GTK_BOX (self->legal_box), label);
+
+  g_free (license);
+}
+
+static void
+update_legal (AdwAboutWindow *self)
+{
+  LegalSection default_section;
+  GtkWidget *widget;
+  GSList *l;
+
+  while ((widget = gtk_widget_get_first_child (self->legal_box)))
+    gtk_box_remove (GTK_BOX (self->legal_box), widget);
+
+  /* We only want to show the default title if there's more than one section */
+  if (self->legal_sections)
+    default_section.title = _("This Application");
+  else
+    default_section.title = NULL;
+
+  default_section.copyright = self->copyright;
+  default_section.license_type = self->license_type;
+  default_section.license = self->license;
+  append_legal_section (self, &default_section, FALSE);
+
+  for (l = self->legal_sections; l; l = l->next)
+    append_legal_section (self, l->data, TRUE);
+
+  gtk_widget_set_visible (self->legal_box,
+                          !!gtk_widget_get_first_child (self->legal_box));
+}
+
+typedef enum {
+  STATE_NONE,
+  STATE_PARAGRAPH,
+  STATE_UNORDERED_LIST,
+  STATE_UNORDERED_ITEM,
+  STATE_ORDERED_LIST,
+  STATE_ORDERED_ITEM,
+} ReleaseNotesState;
+
+typedef struct {
+  GtkTextBuffer *buffer;
+  GtkTextIter iter;
+
+  ReleaseNotesState state;
+  int n_item;
+  int section_start;
+  int paragraph_start;
+  gboolean last_trailing_space;
+} ReleaseNotesParserData;
+
+static void
+start_element_handler (GMarkupParseContext  *context,
+                       const char           *element_name,
+                       const char          **attribute_names,
+                       const char          **attribute_values,
+                       gpointer              user_data,
+                       GError              **error)
+{
+  ReleaseNotesParserData *pdata = user_data;
+
+  switch (pdata->state) {
+  case STATE_NONE:
+    if (!g_strcmp0 (element_name, "p")) {
+      pdata->state = STATE_PARAGRAPH;
+      pdata->paragraph_start = gtk_text_iter_get_offset (&pdata->iter);
+    }
+
+    if (!g_strcmp0 (element_name, "ul"))
+      pdata->state = STATE_UNORDERED_LIST;
+
+    if (!g_strcmp0 (element_name, "ol"))
+      pdata->state = STATE_ORDERED_LIST;
+
+    if (pdata->state != STATE_NONE) {
+      pdata->section_start = gtk_text_iter_get_offset (&pdata->iter);
+      break;
+    }
+
+    g_set_error (error,
+                 G_MARKUP_ERROR,
+                 G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+                 "Unexpected element '%s'",
+                 element_name);
+    break;
+
+  case STATE_PARAGRAPH:
+  case STATE_UNORDERED_ITEM:
+  case STATE_ORDERED_ITEM:
+    if (!g_strcmp0 (element_name, "em") ||
+        !g_strcmp0 (element_name, "code")) {
+      break;
+    }
+
+    g_set_error (error,
+                 G_MARKUP_ERROR,
+                 G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+                 "Unexpected element '%s'",
+                 element_name);
+    break;
+
+  case STATE_UNORDERED_LIST:
+  case STATE_ORDERED_LIST:
+    if (!g_strcmp0 (element_name, "li")) {
+      char *bullet;
+
+      if (pdata->n_item > 1)
+        gtk_text_buffer_insert (pdata->buffer, &pdata->iter, "\n", -1);
+
+      if (pdata->state == STATE_ORDERED_LIST) {
+        pdata->state = STATE_ORDERED_ITEM;
+        bullet = g_strdup_printf ("%d. ", pdata->n_item);
+      } else {
+        pdata->state = STATE_UNORDERED_ITEM;
+        bullet = g_strdup ("• ");
+      }
+
+      gtk_text_buffer_insert_with_tags_by_name (pdata->buffer, &pdata->iter, bullet, -1, "bullet", NULL);
+      pdata->paragraph_start = gtk_text_iter_get_offset (&pdata->iter);
+
+      g_free (bullet);
+
+      break;
+    }
+
+    g_set_error (error,
+                 G_MARKUP_ERROR,
+                 G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+                 "Unexpected element '%s'",
+                 element_name);
+    break;
+
+  default:
+    g_assert_not_reached ();
+  }
+
+  if (!g_strcmp0 (element_name, "em") ||
+      !g_strcmp0 (element_name, "code") ||
+      !g_strcmp0 (element_name, "ul") ||
+      !g_strcmp0 (element_name, "ol") ||
+      !g_strcmp0 (element_name, "li")) {
+    g_markup_collect_attributes (element_name,
+                                 attribute_names,
+                                 attribute_values,
+                                 error,
+                                 G_MARKUP_COLLECT_INVALID,
+                                 NULL);
+    return;
+  }
+
+  /* We don't support attributes anywhere, so error out if we encounter any. */
+  g_markup_collect_attributes (element_name,
+                               attribute_names,
+                               attribute_values,
+                               error,
+                               G_MARKUP_COLLECT_INVALID,
+                               NULL);
+}
+
+static void
+end_element_handler (GMarkupParseContext  *context,
+                     const char           *element_name,
+                     gpointer              user_data,
+                     GError              **error)
+{
+  ReleaseNotesParserData *pdata = user_data;
+
+  if (!g_strcmp0 (element_name, "p") ||
+      !g_strcmp0 (element_name, "ul") ||
+      !g_strcmp0 (element_name, "ol")) {
+
+   if (pdata->section_start != gtk_text_iter_get_offset (&pdata->iter)) {
+     gtk_text_buffer_insert (pdata->buffer, &pdata->iter, "\n", -1);
+
+     if (pdata->section_start > 0 && !g_strcmp0 (element_name, "p")) {
+       GtkTextIter start_iter;
+       gtk_text_buffer_get_iter_at_offset (pdata->buffer, &start_iter, pdata->section_start);
+       gtk_text_buffer_apply_tag_by_name (pdata->buffer, "section", &start_iter, &pdata->iter);
+     }
+   }
+
+    pdata->state = STATE_NONE;
+    pdata->section_start = -1;
+    pdata->paragraph_start = -1;
+    pdata->n_item = 1;
+    return;
+  }
+
+  if (!g_strcmp0 (element_name, "li")) {
+    if (pdata->state == STATE_UNORDERED_ITEM)
+      pdata->state = STATE_UNORDERED_LIST;
+    else if (pdata->state == STATE_ORDERED_ITEM)
+      pdata->state = STATE_ORDERED_LIST;
+    else
+      g_assert_not_reached ();
+
+    if (pdata->section_start > 0 && pdata->n_item == 1) {
+       GtkTextIter start_iter;
+       gtk_text_buffer_get_iter_at_offset (pdata->buffer, &start_iter,
+                                           pdata->section_start);
+       gtk_text_buffer_apply_tag_by_name (pdata->buffer, "section", &start_iter, &pdata->iter);
+     }
+
+    pdata->n_item++;
+    pdata->paragraph_start = -1;
+    return;
+  }
+}
+
+static void
+text_handler (GMarkupParseContext  *context,
+              const char           *text,
+              gsize                 text_len,
+              gpointer              user_data,
+              GError              **error)
+{
+  ReleaseNotesParserData *pdata = user_data;
+  const char *element;
+  char *escaped;
+  static GRegex *regex = NULL;
+  gboolean leading_space;
+  gboolean trailing_space;
+
+  if (pdata->state != STATE_PARAGRAPH &&
+      pdata->state != STATE_UNORDERED_ITEM &&
+      pdata->state != STATE_ORDERED_ITEM)
+    return;
+
+  /* Replace random amounts of spaces and newlines with single spaces */
+  if (!regex) {
+    GError *regex_error = NULL;
+
+    regex = g_regex_new ("\\s+", G_REGEX_OPTIMIZE, 0, &regex_error);
+
+    if (regex_error) {
+      g_error ("Couldn't compile regex: %s", regex_error->message);
+      g_error_free (regex_error);
+    }
+  }
+
+  element = g_markup_parse_context_get_element (context);
+
+  escaped = g_regex_replace_literal (regex, text, text_len, 0, " ", 0, error);
+
+  if (*error)
+    return;
+
+  if (!*escaped) {
+    g_free (escaped);
+    return;
+  }
+
+  leading_space = *escaped == ' ';
+  trailing_space = escaped[strlen (escaped) - 1] == ' ';
+
+  g_strstrip (escaped);
+
+  /* This might have made the string empty, skip it in that case */
+  if (!*escaped) {
+    g_free (escaped);
+    pdata->last_trailing_space = trailing_space;
+    return;
+  }
+
+  /* We've got rid of inner spaces before <em> and <code>. Bring them back */
+  if ((leading_space || pdata->last_trailing_space) &&
+      pdata->paragraph_start != gtk_text_iter_get_offset (&pdata->iter))
+    gtk_text_buffer_insert (pdata->buffer, &pdata->iter, " ", -1);
+
+  if (!g_strcmp0 (element, "em") || !g_strcmp0 (element, "code"))
+    gtk_text_buffer_insert_with_tags_by_name (pdata->buffer, &pdata->iter,
+                                              escaped, -1, element, NULL);
+  else
+    gtk_text_buffer_insert (pdata->buffer, &pdata->iter, escaped, -1);
+
+  pdata->last_trailing_space = trailing_space;
+
+  g_free (escaped);
+}
+
+static const GMarkupParser markup_parser =
+{
+  start_element_handler,
+  end_element_handler,
+  text_handler,
+  NULL,
+  NULL
+};
+
+static void
+update_release_notes (AdwAboutWindow *self)
+{
+  GMarkupParseContext *context;
+  ReleaseNotesParserData pdata;
+  GError *error = NULL;
+  GtkTextIter end_iter;
+  const char *version = NULL;
+
+  gtk_text_buffer_set_text (self->release_notes_buffer, "", -1);
+
+  if (!self->release_notes || !*self->release_notes)
+    return;
+
+  pdata.buffer = self->release_notes_buffer;
+  gtk_text_buffer_get_start_iter (self->release_notes_buffer, &pdata.iter);
+
+  if (self->release_notes_version && *self->release_notes_version)
+    version = self->release_notes_version;
+  else if (self->version && *self->version)
+    version = self->version;
+
+  if (version) {
+    char *heading = g_strdup_printf (_("Version %s"), version);
+
+    gtk_text_buffer_insert_with_tags_by_name (self->release_notes_buffer,
+                                              &pdata.iter, heading, -1,
+                                              "heading", NULL);
+    gtk_text_buffer_insert (self->release_notes_buffer, &pdata.iter, "\n", -1);
+
+    g_free (heading);
+  }
+
+  pdata.state = STATE_NONE;
+  pdata.n_item = 0;
+  pdata.last_trailing_space = FALSE;
+  context = g_markup_parse_context_new (&markup_parser, 0, &pdata, NULL);
+
+  if (!g_markup_parse_context_parse (context, self->release_notes, -1, &error) ||
+      !g_markup_parse_context_end_parse (context, &error)) {
+    int line_number, char_number;
+    char *position;
+    g_markup_parse_context_get_position (context, &line_number, &char_number);
+
+    g_critical ("Unable to parse release notes: %s at line %d, char %d", error->message, line_number, 
char_number);
+
+    gtk_text_buffer_set_text (self->release_notes_buffer, "", -1);
+    gtk_text_buffer_get_start_iter (self->release_notes_buffer, &pdata.iter);
+
+    gtk_text_buffer_insert (self->release_notes_buffer, &pdata.iter, _("Unable to parse release notes:"), 
-1);
+    gtk_text_buffer_insert (self->release_notes_buffer, &pdata.iter, "\n", -1);
+
+    gtk_text_buffer_insert (self->release_notes_buffer, &pdata.iter, error->message, -1);
+    gtk_text_buffer_insert (self->release_notes_buffer, &pdata.iter, "\n", -1);
+
+    position = g_strdup_printf (_("Line: %d, character: %d"), line_number, char_number);
+    gtk_text_buffer_insert (self->release_notes_buffer, &pdata.iter, position, -1);
+
+    g_markup_parse_context_free (context);
+    g_error_free (error);
+    g_free (position);
+
+    return;
+  }
+
+  gtk_text_iter_backward_chars (&pdata.iter, 2);
+  gtk_text_buffer_get_end_iter (self->release_notes_buffer, &end_iter);
+  gtk_text_buffer_delete (self->release_notes_buffer, &pdata.iter, &end_iter);
+
+  g_markup_parse_context_free (context);
+}
+
+static void
+update_links (AdwAboutWindow *self)
+{
+  gboolean has_website = self->website && *self->website;
+  gboolean has_comments = self->comments && *self->comments;
+  gboolean show_details = has_comments || self->has_custom_links;
+
+  gtk_widget_set_visible (self->website_row, has_website && !show_details);
+
+  gtk_widget_set_visible (self->details_website_row, has_website && show_details);
+  gtk_widget_set_visible (self->links_group,
+                          (has_website && has_comments) || self->has_custom_links);
+}
+
+static void
+adw_about_window_get_property (GObject    *object,
+                               guint       prop_id,
+                               GValue     *value,
+                               GParamSpec *pspec)
+{
+  AdwAboutWindow *self = ADW_ABOUT_WINDOW (object);
+
+  switch (prop_id) {
+  case PROP_APPLICATION_ICON:
+    g_value_set_string (value, adw_about_window_get_application_icon (self));
+    break;
+  case PROP_APPLICATION_NAME:
+    g_value_set_string (value, adw_about_window_get_application_name (self));
+    break;
+  case PROP_DEVELOPER_NAME:
+    g_value_set_string (value, adw_about_window_get_developer_name (self));
+    break;
+  case PROP_VERSION:
+    g_value_set_string (value, adw_about_window_get_version (self));
+    break;
+  case PROP_RELEASE_NOTES_VERSION:
+    g_value_set_string (value, adw_about_window_get_release_notes_version (self));
+    break;
+  case PROP_RELEASE_NOTES:
+    g_value_set_string (value, adw_about_window_get_release_notes (self));
+    break;
+  case PROP_COMMENTS:
+    g_value_set_string (value, adw_about_window_get_comments (self));
+    break;
+  case PROP_WEBSITE:
+    g_value_set_string (value, adw_about_window_get_website (self));
+    break;
+  case PROP_SUPPORT_URL:
+    g_value_set_string (value, adw_about_window_get_support_url (self));
+    break;
+  case PROP_ISSUE_URL:
+    g_value_set_string (value, adw_about_window_get_issue_url (self));
+    break;
+  case PROP_DEBUG_INFO:
+    g_value_set_string (value, adw_about_window_get_debug_info (self));
+    break;
+  case PROP_DEBUG_INFO_FILENAME:
+    g_value_set_string (value, adw_about_window_get_debug_info_filename (self));
+    break;
+  case PROP_DEVELOPERS:
+    g_value_set_boxed (value, adw_about_window_get_developers (self));
+    break;
+  case PROP_DESIGNERS:
+    g_value_set_boxed (value, adw_about_window_get_designers (self));
+    break;
+  case PROP_ARTISTS:
+    g_value_set_boxed (value, adw_about_window_get_artists (self));
+    break;
+  case PROP_DOCUMENTERS:
+    g_value_set_boxed (value, adw_about_window_get_documenters (self));
+    break;
+  case PROP_TRANSLATOR_CREDITS:
+    g_value_set_string (value, adw_about_window_get_translator_credits (self));
+    break;
+  case PROP_COPYRIGHT:
+    g_value_set_string (value, adw_about_window_get_copyright (self));
+    break;
+  case PROP_LICENSE_TYPE:
+    g_value_set_enum (value, adw_about_window_get_license_type (self));
+    break;
+  case PROP_LICENSE:
+    g_value_set_string (value, adw_about_window_get_license (self));
+    break;
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+  }
+}
+
+static void
+adw_about_window_set_property (GObject      *object,
+                               guint         prop_id,
+                               const GValue *value,
+                               GParamSpec   *pspec)
+{
+  AdwAboutWindow *self = ADW_ABOUT_WINDOW (object);
+
+  switch (prop_id) {
+  case PROP_APPLICATION_ICON:
+    adw_about_window_set_application_icon (self, g_value_get_string (value));
+    break;
+  case PROP_APPLICATION_NAME:
+    adw_about_window_set_application_name (self, g_value_get_string (value));
+    break;
+  case PROP_DEVELOPER_NAME:
+    adw_about_window_set_developer_name (self, g_value_get_string (value));
+    break;
+  case PROP_VERSION:
+    adw_about_window_set_version (self, g_value_get_string (value));
+    break;
+  case PROP_RELEASE_NOTES_VERSION:
+    adw_about_window_set_release_notes_version (self, g_value_get_string (value));
+    break;
+  case PROP_RELEASE_NOTES:
+    adw_about_window_set_release_notes (self, g_value_get_string (value));
+    break;
+  case PROP_COMMENTS:
+    adw_about_window_set_comments (self, g_value_get_string (value));
+    break;
+  case PROP_WEBSITE:
+    adw_about_window_set_website (self, g_value_get_string (value));
+    break;
+  case PROP_SUPPORT_URL:
+    adw_about_window_set_support_url (self, g_value_get_string (value));
+    break;
+  case PROP_ISSUE_URL:
+    adw_about_window_set_issue_url (self, g_value_get_string (value));
+    break;
+  case PROP_DEBUG_INFO:
+    adw_about_window_set_debug_info (self, g_value_get_string (value));
+    break;
+  case PROP_DEBUG_INFO_FILENAME:
+    adw_about_window_set_debug_info_filename (self, g_value_get_string (value));
+    break;
+  case PROP_DEVELOPERS:
+    adw_about_window_set_developers (self, g_value_get_boxed (value));
+    break;
+  case PROP_DESIGNERS:
+    adw_about_window_set_designers (self, g_value_get_boxed (value));
+    break;
+  case PROP_DOCUMENTERS:
+    adw_about_window_set_documenters (self, g_value_get_boxed (value));
+    break;
+  case PROP_ARTISTS:
+    adw_about_window_set_artists (self, g_value_get_boxed (value));
+    break;
+  case PROP_TRANSLATOR_CREDITS:
+    adw_about_window_set_translator_credits (self, g_value_get_string (value));
+    break;
+  case PROP_COPYRIGHT:
+    adw_about_window_set_copyright (self, g_value_get_string (value));
+    break;
+  case PROP_LICENSE_TYPE:
+    adw_about_window_set_license_type (self, g_value_get_enum (value));
+    break;
+  case PROP_LICENSE:
+    adw_about_window_set_license (self, g_value_get_string (value));
+    break;
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+  }
+}
+
+static void
+adw_about_window_finalize (GObject *object)
+{
+  AdwAboutWindow *self = ADW_ABOUT_WINDOW (object);
+
+  g_free (self->application_icon);
+  g_free (self->application_name);
+  g_free (self->developer_name);
+  g_free (self->version);
+  g_free (self->release_notes_version);
+  g_free (self->release_notes);
+  g_free (self->comments);
+  g_free (self->website);
+  g_free (self->support_url);
+  g_free (self->issue_url);
+  g_free (self->debug_info);
+  g_free (self->debug_info_filename);
+
+  g_strfreev (self->developers);
+  g_strfreev (self->designers);
+  g_strfreev (self->artists);
+  g_strfreev (self->documenters);
+  g_free (self->translator_credits);
+  g_slist_free_full (self->credit_sections, (GDestroyNotify) free_credit_section);
+
+  g_free (self->copyright);
+  g_free (self->license);
+  g_slist_free_full (self->legal_sections, (GDestroyNotify) free_legal_section);
+
+  G_OBJECT_CLASS (adw_about_window_parent_class)->finalize (object);
+}
+
+static void
+back_cb (AdwAboutWindow *self)
+{
+  adw_leaflet_navigate (ADW_LEAFLET (self->leaflet), ADW_NAVIGATION_DIRECTION_BACK);
+}
+
+static void
+subpage_cb (AdwAboutWindow *self,
+            const char     *action_name,
+            GVariant       *params)
+{
+  const char *name = g_variant_get_string (params, NULL);
+
+  gtk_stack_set_visible_child_name (GTK_STACK (self->subpage_stack), name);
+  adw_leaflet_navigate (ADW_LEAFLET (self->leaflet), ADW_NAVIGATION_DIRECTION_FORWARD);
+}
+
+static void
+show_url_cb (AdwAboutWindow *self,
+             const char     *action_name,
+             GVariant       *params)
+{
+  const char *url = g_variant_get_string (params, NULL);
+
+  activate_link (self, url);
+}
+
+static void
+show_url_property_cb (AdwAboutWindow *self,
+                      const char     *action_name,
+                      GVariant       *params)
+{
+  const char *property = g_variant_get_string (params, NULL);
+  char *url;
+
+  g_object_get (self, property, &url, NULL);
+
+  activate_link (self, url);
+
+  g_free (url);
+}
+
+static void
+copy_property_cb (AdwAboutWindow *self,
+                  const char     *action_name,
+                  GVariant       *params)
+{
+  const char *property = g_variant_get_string (params, NULL);
+  char *value;
+
+  g_object_get (self, property, &value, NULL);
+
+  if (value && *value) {
+    GdkClipboard *clipboard = gtk_widget_get_clipboard (GTK_WIDGET (self));
+
+    gdk_clipboard_set_text (clipboard, value);
+
+    adw_toast_overlay_add_toast (ADW_TOAST_OVERLAY (self->toast_overlay),
+                                 adw_toast_new (_("Copied to clipboard")));
+  }
+
+  g_free (value);
+}
+
+static void
+debug_cb (AdwAboutWindow *self)
+{
+  adw_leaflet_navigate (ADW_LEAFLET (self->leaflet), ADW_NAVIGATION_DIRECTION_FORWARD);
+}
+
+static void
+save_debug_info_response_cb (GtkFileChooser  *chooser,
+                             GtkResponseType  response,
+                             AdwAboutWindow  *self)
+{
+  gtk_native_dialog_hide (GTK_NATIVE_DIALOG (chooser));
+
+  if (response == GTK_RESPONSE_ACCEPT) {
+    GFile *file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (chooser));
+    GError *error = NULL;
+
+    g_file_replace_contents (file,
+                             self->debug_info,
+                             strlen (self->debug_info),
+                             NULL,
+                             FALSE,
+                             G_FILE_CREATE_NONE,
+                             NULL,
+                             NULL,
+                             &error);
+
+    if (error) {
+      GtkWidget *dialog = adw_message_dialog_new (GTK_WINDOW (self),
+                                                  _("Unable to save debugging information"),
+                                                  NULL);
+      adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
+                                      "%s", error->message);
+      adw_message_dialog_add_response (ADW_MESSAGE_DIALOG (dialog),
+                                       "close", _("Close"));
+
+      gtk_window_present (GTK_WINDOW (dialog));
+
+      g_error_free (error);
+    }
+
+    g_object_unref (file);
+  }
+
+  gtk_native_dialog_destroy (GTK_NATIVE_DIALOG (chooser));
+}
+
+static void
+save_debug_info_cb (AdwAboutWindow *self)
+{
+  GtkFileChooserNative *chooser;
+
+  chooser = gtk_file_chooser_native_new (_("Save debugging information"),
+                                         GTK_WINDOW (self),
+                                         GTK_FILE_CHOOSER_ACTION_SAVE,
+                                         _("_Save"),
+                                         _("_Cancel"));
+
+  if (self->debug_info_filename && *self->debug_info_filename)
+    gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (chooser), self->debug_info_filename);
+
+  gtk_native_dialog_set_modal (GTK_NATIVE_DIALOG (chooser), TRUE);
+
+  g_signal_connect (chooser, "response", G_CALLBACK (save_debug_info_response_cb), self);
+
+  gtk_native_dialog_show (GTK_NATIVE_DIALOG (chooser));
+}
+
+static gboolean
+close_cb (GtkWidget *widget,
+          GVariant  *args,
+          gpointer   user_data)
+{
+  AdwAboutWindow *self = ADW_ABOUT_WINDOW (widget);
+
+  if (adw_leaflet_navigate (ADW_LEAFLET (self->leaflet), ADW_NAVIGATION_DIRECTION_BACK))
+    return GDK_EVENT_STOP;
+
+  gtk_window_close (GTK_WINDOW (self));
+
+  return GDK_EVENT_STOP;
+}
+
+static gboolean
+save_debug_info_shortcut_cb (GtkWidget *widget,
+                             GVariant  *args,
+                             gpointer   user_data)
+{
+  AdwAboutWindow *self = ADW_ABOUT_WINDOW (widget);
+
+  if (adw_leaflet_get_visible_child (ADW_LEAFLET (self->leaflet)) != self->debug_info_page)
+    return GDK_EVENT_PROPAGATE;
+
+  save_debug_info_cb (self);
+
+  return GDK_EVENT_STOP;
+}
+
+static void
+adw_about_window_class_init (AdwAboutWindowClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+  object_class->finalize = adw_about_window_finalize;
+  object_class->get_property = adw_about_window_get_property;
+  object_class->set_property = adw_about_window_set_property;
+
+  /**
+   * AdwAboutWindow:application-icon: (attributes org.gtk.Property.get=adw_about_window_get_application_icon 
org.gtk.Property.set=adw_about_window_set_application_icon)
+   *
+   * The name of the application icon.
+   *
+   * The icon is displayed at the top of the main page.
+   *
+   * Since: 1.2
+   */
+  props[PROP_APPLICATION_ICON] =
+    g_param_spec_string ("application-icon", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:application-name: (attributes org.gtk.Property.get=adw_about_window_get_application_name 
org.gtk.Property.set=adw_about_window_set_application_name)
+   *
+   * The name of the application.
+   *
+   * The name is displayed at the top of the main page.
+   *
+   * Since: 1.2
+   */
+  props[PROP_APPLICATION_NAME] =
+    g_param_spec_string ("application-name", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:developer-name: (attributes org.gtk.Property.get=adw_about_window_get_developer_name 
org.gtk.Property.set=adw_about_window_set_developer_name)
+   *
+   * The developer name.
+   *
+   * The developer name is displayed on the main page, under the application
+   * name.
+   *
+   * If the application is developed by multiple people, the developer name can
+   * be set to values like "AppName team", "AppName developers" or
+   * "The AppName project", and the individual contributors can be listed on the
+   * Credits page, with [property@AboutWindow:developers] and related
+   * properties.
+   *
+   * Since: 1.2
+   */
+  props[PROP_DEVELOPER_NAME] =
+    g_param_spec_string ("developer-name", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:version: (attributes org.gtk.Property.get=adw_about_window_get_version 
org.gtk.Property.set=adw_about_window_set_version)
+   *
+   * The version of the application.
+   *
+   * The version is displayed on the main page.
+   *
+   * If [property@AboutWindow:release-notes-version] is not set, the version
+   * will also be displayed above the release notes on the What's New page.
+   *
+   * Since: 1.2
+   */
+  props[PROP_VERSION] =
+    g_param_spec_string ("version", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:release-notes-version: (attributes 
org.gtk.Property.get=adw_about_window_get_release_notes_version 
org.gtk.Property.set=adw_about_window_set_release_notes_version)
+   *
+   * The version described by the application's release notes.
+   *
+   * The release notes version is displayed on the What's New page, above the
+   * release notes.
+   *
+   * If not set, [property@AboutWindow:version] will be used instead.
+   *
+   * For example, an application with the current version 2.0.2 might want to
+   * keep the release notes from 2.0.0, and set the release notes version
+   * accordingly.
+   *
+   * See [property@AboutWindow:release-notes].
+   *
+   * Since: 1.2
+   */
+  props[PROP_RELEASE_NOTES_VERSION] =
+    g_param_spec_string ("release-notes-version", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:release-notes: (attributes org.gtk.Property.get=adw_about_window_get_release_notes 
org.gtk.Property.set=adw_about_window_set_release_notes)
+   *
+   * The release notes of the application.
+   *
+   * Release notes are displayed on the the What's New page.
+   *
+   * Release notes are formatted the same way as
+   * [AppStream 
descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
+   *
+   * The supported formatting options are:
+   *
+   * * Paragraph (`<p>`)
+   * * Ordered list (`<ol>`), with list items (`<li>`)
+   * * Unordered list (`<ul>`), with list items (`<li>`)
+   *
+   * Within paragraphs and list items, emphasis (`<em>`) and inline code
+   * (`<code>`) text styles are supported. The emphasis is rendered in italic,
+   * while inline code is shown in a monospaced font.
+   *
+   * Any text outside paragraphs or list items is ignored.
+   *
+   * Nested lists are not supported.
+   *
+   * `AdwAboutWindow` displays the version above the release notes. If set, the
+   * [property@AboutWindow:release-notes-version] of the property will be used
+   * as the version; otherwise, [property@AboutWindow:version] is used.
+   *
+   * Since: 1.2
+   */
+  props[PROP_RELEASE_NOTES] =
+    g_param_spec_string ("release-notes", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:comments: (attributes org.gtk.Property.get=adw_about_window_get_comments 
org.gtk.Property.set=adw_about_window_set_comments)
+   *
+   * The comments about the application.
+   *
+   * Comments will be shown on the Details page, above links.
+   *
+   * Unlike [property@Gtk.AboutDialog:comments], this string can be long and
+   * detailed. It can also contain links and Pango markup.
+   *
+   * Since: 1.2
+   */
+  props[PROP_COMMENTS] =
+    g_param_spec_string ("comments", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:website: (attributes org.gtk.Property.get=adw_about_window_get_website 
org.gtk.Property.set=adw_about_window_set_website)
+   *
+   * The URL of the application's website.
+   *
+   * Website is displayed on the Details page, below comments, or on the main
+   * page if the Details page doesn't have any other content.
+   *
+   * Applications can add other links below, see [method@AboutWindow.add_link].
+   *
+   * Since: 1.2
+   */
+  props[PROP_WEBSITE] =
+    g_param_spec_string ("website", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:support-url: (attributes org.gtk.Property.get=adw_about_window_get_support_url 
org.gtk.Property.set=adw_about_window_set_support_url)
+   *
+   * The URL of the application's support page.
+   *
+   * The support page link is displayed on the main page.
+   *
+   * Since: 1.2
+   */
+  props[PROP_SUPPORT_URL] =
+    g_param_spec_string ("support-url", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:issue-url: (attributes org.gtk.Property.get=adw_about_window_get_issue_url 
org.gtk.Property.set=adw_about_window_set_issue_url)
+   *
+   * The URL for the application's issue tracker.
+   *
+   * The issue tracker link is displayed on the main page.
+   *
+   * Since: 1.2
+   */
+  props[PROP_ISSUE_URL] =
+    g_param_spec_string ("issue-url", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:debug-info: (attributes org.gtk.Property.get=adw_about_window_get_debug_info 
org.gtk.Property.set=adw_about_window_set_debug_info)
+   *
+   * The debug information.
+   *
+   * Debug information will be shown on the Troubleshooting page. It's intended
+   * to be attached to issue reports when reporting issues against the
+   * application.
+   *
+   * `AdwAboutWindow` provides a quick way to save debug information to a file.
+   * When saving, [property@AboutWindow:debug-info-filename] would be used as
+   * the suggested filename.
+   *
+   * Debug information cannot contain markup or links.
+   *
+   * Since: 1.2
+   */
+  props[PROP_DEBUG_INFO] =
+    g_param_spec_string ("debug-info", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:debug-info-filename: (attributes 
org.gtk.Property.get=adw_about_window_get_debug_info_filename 
org.gtk.Property.set=adw_about_window_set_debug_info_filename)
+   *
+   * The debug information filename.
+   *
+   * It will be used as the suggested filename when saving debug information to
+   * a file.
+   *
+   * See [property@AboutWindow:debug-info].
+   *
+   * Since: 1.2
+   */
+  props[PROP_DEBUG_INFO_FILENAME] =
+    g_param_spec_string ("debug-info-filename", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:developers: (attributes org.gtk.Property.get=adw_about_window_get_developers 
org.gtk.Property.set=adw_about_window_set_developers)
+   *
+   * The list of developers of the application.
+   *
+   * It will be displayed on the Credits page.
+   *
+   * Each name may contain email addresses and URLs, see the introduction for
+   * more details.
+   *
+   * See also:
+   *
+   * * [property@AboutWindow:designers]
+   * * [property@AboutWindow:artists]
+   * * [property@AboutWindow:documenters]
+   * * [property@AboutWindow:translator-credits]
+   * * [method@AboutWindow.add_credit_section]
+   * * [method@AboutWindow.add_acknowledgement_section]
+   *
+   * Since: 1.2
+   */
+  props[PROP_DEVELOPERS] =
+      g_param_spec_boxed ("developers", NULL, NULL,
+                          G_TYPE_STRV,
+                          G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:designers: (attributes org.gtk.Property.get=adw_about_window_get_designers 
org.gtk.Property.set=adw_about_window_set_designers)
+   *
+   * The list of designers of the application.
+   *
+   * It will be displayed on the Credits page.
+   *
+   * Each name may contain email addresses and URLs, see the introduction for
+   * more details.
+   *
+   * See also:
+   *
+   * * [property@AboutWindow:developers]
+   * * [property@AboutWindow:artists]
+   * * [property@AboutWindow:documenters]
+   * * [property@AboutWindow:translator-credits]
+   * * [method@AboutWindow.add_credit_section]
+   * * [method@AboutWindow.add_acknowledgement_section]
+   *
+   * Since: 1.2
+   */
+  props[PROP_DESIGNERS] =
+      g_param_spec_boxed ("designers", NULL, NULL,
+                          G_TYPE_STRV,
+                          G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:artists: (attributes org.gtk.Property.get=adw_about_window_get_artists 
org.gtk.Property.set=adw_about_window_set_artists)
+   *
+   * The list of artists of the application.
+   *
+   * It will be displayed on the Credits page.
+   *
+   * Each name may contain email addresses and URLs, see the introduction for
+   * more details.
+   *
+   * See also:
+   *
+   * * [property@AboutWindow:developers]
+   * * [property@AboutWindow:designers]
+   * * [property@AboutWindow:documenters]
+   * * [property@AboutWindow:translator-credits]
+   * * [method@AboutWindow.add_credit_section]
+   * * [method@AboutWindow.add_acknowledgement_section]
+   *
+   * Since: 1.2
+   */
+  props[PROP_ARTISTS] =
+      g_param_spec_boxed ("artists", NULL, NULL,
+                          G_TYPE_STRV,
+                          G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:documenters: (attributes org.gtk.Property.get=adw_about_window_get_documenters 
org.gtk.Property.set=adw_about_window_set_documenters)
+   *
+   * The list of documenters of the application.
+   *
+   * It will be displayed on the Credits page.
+   *
+   * Each name may contain email addresses and URLs, see the introduction for
+   * more details.
+   *
+   * See also:
+   *
+   * * [property@AboutWindow:developers]
+   * * [property@AboutWindow:designers]
+   * * [property@AboutWindow:artists]
+   * * [property@AboutWindow:translator-credits]
+   * * [method@AboutWindow.add_credit_section]
+   * * [method@AboutWindow.add_acknowledgement_section]
+   *
+   * Since: 1.2
+   */
+  props[PROP_DOCUMENTERS] =
+      g_param_spec_boxed ("documenters", NULL, NULL,
+                          G_TYPE_STRV,
+                          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:translator-credits: (attributes 
org.gtk.Property.get=adw_about_window_get_translator_credits 
org.gtk.Property.set=adw_about_window_set_translator_credits)
+   *
+   * The translator credits string.
+   *
+   * It will be displayed on the Credits page.
+   *
+   * This string should be `"translator-credits"` or `"translator_credits"` and
+   * should be marked as translatable.
+   *
+   * The string may contain email addresses and URLs, see the introduction for
+   * more details.
+   *
+   * See also:
+   *
+   * * [property@AboutWindow:developers]
+   * * [property@AboutWindow:designers]
+   * * [property@AboutWindow:artists]
+   * * [property@AboutWindow:documenters]
+   * * [method@AboutWindow.add_credit_section]
+   * * [method@AboutWindow.add_acknowledgement_section]
+   *
+   * Since: 1.2
+   */
+  props[PROP_TRANSLATOR_CREDITS] =
+      g_param_spec_string ("translator-credits", NULL, NULL,
+                           "",
+                           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:copyright: (attributes org.gtk.Property.get=adw_about_window_get_copyright 
org.gtk.Property.set=adw_about_window_set_copyright)
+   *
+   * The copyright information.
+   *
+   * This should be a short string of one or two lines, for example:
+   * `© 2022 Example`.
+   *
+   * The copyright information will be displayed on the Legal page, above the
+   * application license.
+   *
+   * [method@AboutWindow.add_legal_section] can be used to add copyright
+   * information for the application dependencies or other components.
+   *
+   * Since: 1.2
+   */
+  props[PROP_COPYRIGHT] =
+    g_param_spec_string ("copyright", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:license-type: (attributes org.gtk.Property.get=adw_about_window_get_license_type 
org.gtk.Property.set=adw_about_window_set_license_type)
+   *
+   * The license type.
+   *
+   * Allows to set the application's license froma list of known licenses.
+   *
+   * If the application's license is not in the list,
+   * [property@AboutWindow:license] can be used instead. The license type will
+   * be automatically set to `GTK_LICENSE_CUSTOM` in that case.
+   *
+   * If set to `GTK_LICENSE_UNKNOWN`, no information will be displayed.
+   *
+   * If the license type is different from `GTK_LICENSE_CUSTOM`.
+   * [property@AboutWindow:license] will be cleared out.
+   *
+   * The license description will be displayed on the Legal page, below the
+   * copyright information.
+   *
+   * [method@AboutWindow.add_legal_section] can be used to add license
+   * information for the application dependencies or other components.
+   *
+   * Since: 1.2
+   */
+  props[PROP_LICENSE_TYPE] =
+    g_param_spec_enum ("license-type", NULL, NULL,
+                       GTK_TYPE_LICENSE,
+                       GTK_LICENSE_UNKNOWN,
+                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  /**
+   * AdwAboutWindow:license: (attributes org.gtk.Property.get=adw_about_window_get_license 
org.gtk.Property.set=adw_about_window_set_license)
+   *
+   * The license text.
+   *
+   * This can be used to set a custom text for the license if it can't be set
+   * via [property@AboutWindow:license-type].
+   *
+   * When set, [property@AboutWindow:license-type] will be set to
+   * `GTK_LICENSE_CUSTOM`.
+   *
+   * The license text will be displayed on the Legal page, below the copyright
+   * information.
+   *
+   * License text can contain Pango markup and links.
+   *
+   * [method@AboutWindow.add_legal_section] can be used to add license
+   * information for the application dependencies or other components.
+   *
+   * Since: 1.2
+   */
+  props[PROP_LICENSE] =
+    g_param_spec_string ("license", NULL, NULL,
+                         "",
+                         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY);
+
+  g_object_class_install_properties (object_class, LAST_PROP, props);
+
+  /**
+   * AdwAboutWindow::activate-link:
+   * @self: an about window
+   * @uri: the URI to activate
+   *
+   * Emitted when a URL is activated.
+   *
+   * Applications may connect to it to override the default behavior, which is
+   * to call [func@Gtk.show_uri].
+   *
+   * Returns: `TRUE` if the link has been activated
+   *
+   * Since: 1.0
+   */
+  signals[SIGNAL_ACTIVATE_LINK] =
+    g_signal_new ("activate-link",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  g_signal_accumulator_true_handled,
+                  NULL, NULL,
+                  G_TYPE_BOOLEAN,
+                  1,
+                  G_TYPE_STRING);
+
+  g_signal_override_class_handler ("activate-link",
+                                   G_TYPE_FROM_CLASS (klass),
+                                   G_CALLBACK (activate_link_default_cb));
+
+  gtk_widget_class_set_template_from_resource (widget_class,
+                                               "/org/gnome/Adwaita/ui/adw-about-window.ui");
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, leaflet);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, subpage_stack);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, toast_overlay);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, website_row);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, links_group);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, details_website_row);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, credits_box);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, legal_box);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, acknowledgements_box);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, debug_info_page);
+  gtk_widget_class_bind_template_child (widget_class, AdwAboutWindow, release_notes_buffer);
+
+  gtk_widget_class_bind_template_callback (widget_class, boolean_or);
+  gtk_widget_class_bind_template_callback (widget_class, string_is_not_empty);
+  gtk_widget_class_bind_template_callback (widget_class, get_headerbar_name);
+  gtk_widget_class_bind_template_callback (widget_class, activate_link_cb);
+
+  gtk_widget_class_install_action (widget_class, "about.back", NULL,
+                                   (GtkWidgetActionActivateFunc) back_cb);
+  gtk_widget_class_install_action (widget_class, "about.subpage", "s",
+                                   (GtkWidgetActionActivateFunc) subpage_cb);
+  gtk_widget_class_install_action (widget_class, "about.show-url", "s",
+                                   (GtkWidgetActionActivateFunc) show_url_cb);
+  gtk_widget_class_install_action (widget_class, "about.show-url-property", "s",
+                                   (GtkWidgetActionActivateFunc) show_url_property_cb);
+  gtk_widget_class_install_action (widget_class, "about.copy-property", "s",
+                                   (GtkWidgetActionActivateFunc) copy_property_cb);
+  gtk_widget_class_install_action (widget_class, "about.debug", NULL,
+                                   (GtkWidgetActionActivateFunc) debug_cb);
+  gtk_widget_class_install_action (widget_class, "about.save-debug-info", NULL,
+                                   (GtkWidgetActionActivateFunc) save_debug_info_cb);
+
+  gtk_widget_class_add_binding (widget_class, GDK_KEY_Escape, 0, close_cb, NULL);
+  gtk_widget_class_add_binding (widget_class, GDK_KEY_S, GDK_CONTROL_MASK,
+                                save_debug_info_shortcut_cb, NULL);
+}
+
+static void
+adw_about_window_init (AdwAboutWindow *self)
+{
+  self->application_icon = g_strdup ("");
+  self->application_name = g_strdup ("");
+  self->developer_name = g_strdup ("");
+  self->version = g_strdup ("");
+  self->release_notes_version = g_strdup ("");
+  self->release_notes = g_strdup ("");
+  self->comments = g_strdup ("");
+  self->website = g_strdup ("");
+  self->support_url = g_strdup ("");
+  self->issue_url = g_strdup ("");
+  self->debug_info = g_strdup ("");
+  self->debug_info_filename = g_strdup ("");
+  self->copyright = g_strdup ("");
+  self->license = g_strdup ("");
+
+  gtk_widget_init_template (GTK_WIDGET (self));
+
+  gtk_text_buffer_create_tag (self->release_notes_buffer, "em",
+                              "style", PANGO_STYLE_ITALIC,
+                              NULL);
+  gtk_text_buffer_create_tag (self->release_notes_buffer, "code",
+                              "family", "monospace",
+                              NULL);
+  gtk_text_buffer_create_tag (self->release_notes_buffer, "bullet",
+                              "font-features", "tnum=1",
+                              "left-margin", 24,
+                              "pixels-above-lines", 6,
+                              NULL);
+  gtk_text_buffer_create_tag (self->release_notes_buffer, "section",
+                              "pixels-above-lines", 12,
+                              NULL);
+  gtk_text_buffer_create_tag (self->release_notes_buffer, "heading",
+                              "weight", PANGO_WEIGHT_BOLD,
+                              NULL);
+}
+
+/**
+ * adw_about_window_new:
+ *
+ * Creates a new `AdwAboutWindow`.
+ *
+ * Returns: the newly created `AdwAboutWindow`
+ *
+ * Since: 1.2
+ */
+GtkWidget *
+adw_about_window_new (void)
+{
+  return g_object_new (ADW_TYPE_ABOUT_WINDOW, NULL);
+}
+
+/**
+ * adw_about_window_get_application_icon: (attributes org.gtk.Method.get_property=application-icon)
+ * @self: an about window
+ *
+ * Gets the name of the application icon for @self.
+ *
+ * Returns: the application icon name
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_application_icon (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->application_icon;
+}
+
+/**
+ * adw_about_window_set_application_icon: (attributes org.gtk.Method.set_property=application-icon)
+ * @self: an about window
+ * @application_icon: the application icon name
+ *
+ * Sets the name of the application icon for @self.
+ *
+ * The icon is displayed at the top of the main page.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_application_icon (AdwAboutWindow *self,
+                                       const char     *application_icon)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (application_icon != NULL);
+
+  if (g_strcmp0 (self->application_icon, application_icon) == 0)
+    return;
+
+  g_free (self->application_icon);
+  self->application_icon = g_strdup (application_icon);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APPLICATION_ICON]);
+}
+
+/**
+ * adw_about_window_get_application_name: (attributes org.gtk.Method.get_property=application-name)
+ * @self: an about window
+ *
+ * Gets the application name for @self.
+ *
+ * Returns: the application name
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_application_name (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->application_name;
+}
+
+/**
+ * adw_about_window_set_application_name: (attributes org.gtk.Method.set_property=application-name)
+ * @self: an about window
+ * @application_name: the application name
+ *
+ * Sets the application name for @self.
+ *
+ * The name is displayed at the top of the main page.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_application_name (AdwAboutWindow *self,
+                                       const char     *application_name)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (application_name != NULL);
+
+  if (g_strcmp0 (self->application_name, application_name) == 0)
+    return;
+
+  g_free (self->application_name);
+  self->application_name = g_strdup (application_name);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_APPLICATION_NAME]);
+}
+
+/**
+ * adw_about_window_get_developer_name: (attributes org.gtk.Method.get_property=developer-name)
+ * @self: an about window
+ *
+ * Gets the developer name for @self.
+ *
+ * Returns: the developer_name
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_developer_name (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->developer_name;
+}
+
+/**
+ * adw_about_window_set_developer_name: (attributes org.gtk.Method.set_property=developer-name)
+ * @self: an about window
+ * @developer_name: the developer name
+ *
+ * Sets the developer name for @self.
+ *
+ * The developer name is displayed on the main page, under the application name.
+ *
+ * If the application is developed by multiple people, the developer name can be
+ * set to values like "AppName team", "AppName developers" or
+ * "The AppName project", and the individual contributors can be listed on the
+ * Credits page, with [property@AboutWindow:developers] and related properties.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_developer_name (AdwAboutWindow *self,
+                                     const char     *developer_name)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (developer_name != NULL);
+
+  if (g_strcmp0 (self->developer_name, developer_name) == 0)
+    return;
+
+  g_free (self->developer_name);
+  self->developer_name = g_strdup (developer_name);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEVELOPER_NAME]);
+}
+
+/**
+ * adw_about_window_get_version: (attributes org.gtk.Method.get_property=version)
+ * @self: an about window
+ *
+ * Gets the version for @self.
+ *
+ * Returns: the version
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_version (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->version;
+}
+
+/**
+ * adw_about_window_set_version: (attributes org.gtk.Method.set_property=version)
+ * @self: an about window
+ * @version: the version
+ *
+ * Sets the version for @self.
+ *
+ * The version is displayed on the main page.
+ *
+ * If [property@AboutWindow:release-notes-version] is not set, the version will
+ * also be displayed above the release notes on the What's New page.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_version (AdwAboutWindow *self,
+                              const char     *version)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (version != NULL);
+
+  if (g_strcmp0 (self->version, version) == 0)
+    return;
+
+  g_free (self->version);
+  self->version = g_strdup (version);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VERSION]);
+}
+
+/**
+ * adw_about_window_get_release_notes_version: (attributes org.gtk.Method.get_property=release-notes-version)
+ * @self: an about window
+ *
+ * Gets the version described by the application's release notes.
+ *
+ * Returns: the release notes version
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_release_notes_version (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->release_notes_version;
+}
+
+/**
+ * adw_about_window_set_release_notes_version: (attributes org.gtk.Method.set_property=release-notes-version)
+ * @self: an about window
+ * @version: the release notes version
+ *
+ * Sets the version described by the application's release notes.
+ *
+ * The release notes version is displayed on the What's New page, above the
+ * release notes.
+ *
+ * If not set, [property@AboutWindow:version] will be used instead.
+ *
+ * For example, an application with the current version 2.0.2 might want to
+ * keep the release notes from 2.0.0, and set the release notes version
+ * accordingly.
+ *
+ * See [property@AboutWindow:release-notes].
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_release_notes_version (AdwAboutWindow *self,
+                                            const char     *version)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (version != NULL);
+
+  if (g_strcmp0 (self->release_notes_version, version) == 0)
+    return;
+
+  g_free (self->release_notes_version);
+  self->release_notes_version = g_strdup (version);
+
+  update_release_notes (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RELEASE_NOTES_VERSION]);
+}
+
+/**
+ * adw_about_window_get_release_notes: (attributes org.gtk.Method.get_property=release-notes)
+ * @self: an about window
+ *
+ * Gets the release notes for @self.
+ *
+ * Returns: the release notes
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_release_notes (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->release_notes;
+}
+
+/**
+ * adw_about_window_set_release_notes: (attributes org.gtk.Method.set_property=release-notes)
+ * @self: an about window
+ * @release_notes: the release notes
+ *
+ * Sets the release notes for @self.
+ *
+ * Release notes are displayed on the the What's New page.
+ *
+ * Release notes are formatted the same way as
+ * [AppStream 
descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
+ *
+ * The supported formatting options are:
+ *
+ * * Paragraph (`<p>`)
+ * * Ordered list (`<ol>`), with list items (`<li>`)
+ * * Unordered list (`<ul>`), with list items (`<li>`)
+ *
+ * Within paragraphs and list items, emphasis (`<em>`) and inline code
+ * (`<code>`) text styles are supported. The emphasis is rendered in italic,
+ * while inline code is shown in a monospaced font.
+ *
+ * Any text outside paragraphs or list items is ignored.
+ *
+ * Nested lists are not supported.
+ *
+ * `AdwAboutWindow` displays the version above the release notes. If set, the
+ * [property@AboutWindow:release-notes-version] of the property will be used
+ * as the version; otherwise, [property@AboutWindow:version] is used.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_release_notes (AdwAboutWindow *self,
+                                    const char     *release_notes)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (release_notes != NULL);
+
+  if (g_strcmp0 (self->release_notes, release_notes) == 0)
+    return;
+
+  g_free (self->release_notes);
+  self->release_notes = g_strdup (release_notes);
+
+  update_release_notes (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_RELEASE_NOTES]);
+}
+
+/**
+ * adw_about_window_get_comments: (attributes org.gtk.Method.get_property=comments)
+ * @self: an about window
+ *
+ * Gets the comments about the application.
+ *
+ * Returns: the comments
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_comments (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->comments;
+}
+
+/**
+ * adw_about_window_set_comments: (attributes org.gtk.Method.set_property=comments)
+ * @self: an about window
+ * @comments: the comments
+ *
+ * Sets the comments about the application.
+ *
+ * Comments will be shown on the Details page, above links.
+ *
+ * Unlike [property@Gtk.AboutDialog:comments], this string can be long and
+ * detailed. It can also contain links and Pango markup.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_comments (AdwAboutWindow *self,
+                               const char     *comments)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (comments != NULL);
+
+  if (g_strcmp0 (self->comments, comments) == 0)
+    return;
+
+  g_free (self->comments);
+  self->comments = g_strdup (comments);
+
+  update_links (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COMMENTS]);
+}
+
+/**
+ * adw_about_window_get_website: (attributes org.gtk.Method.get_property=website)
+ * @self: an about window
+ *
+ * Gets the application website URL for @self.
+ *
+ * Returns: the website URL
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_website (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->website;
+}
+
+/**
+ * adw_about_window_set_website: (attributes org.gtk.Method.set_property=website)
+ * @self: an about window
+ * @website: the website URL
+ *
+ * Sets the application website URL for @self.
+ *
+ * Website is displayed on the Details page, below comments, or on the main page
+ * if the Details page doesn't have any other content.
+ *
+ * Applications can add other links below, see [method@AboutWindow.add_link].
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_website (AdwAboutWindow *self,
+                              const char     *website)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (website != NULL);
+
+  if (g_strcmp0 (self->website, website) == 0)
+    return;
+
+  g_free (self->website);
+  self->website = g_strdup (website);
+
+  update_links (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_WEBSITE]);
+}
+
+/**
+ * adw_about_window_get_support_url: (attributes org.gtk.Method.get_property=support-url)
+ * @self: an about window
+ *
+ * Gets the URL of the support page for @self.
+ *
+ * Returns: the support page URL
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_support_url (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->support_url;
+}
+
+/**
+ * adw_about_window_set_support_url: (attributes org.gtk.Method.set_property=support-url)
+ * @self: an about window
+ * @support_url: the support page URL
+ *
+ * Sets the URL of the support page for @self.
+ *
+ * The support page link is displayed on the main page.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_support_url (AdwAboutWindow *self,
+                                  const char     *support_url)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (support_url != NULL);
+
+  if (g_strcmp0 (self->support_url, support_url) == 0)
+    return;
+
+  g_free (self->support_url);
+  self->support_url = g_strdup (support_url);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SUPPORT_URL]);
+}
+
+/**
+ * adw_about_window_get_issue_url: (attributes org.gtk.Method.get_property=issue-url)
+ * @self: an about window
+ *
+ * Gets the issue tracker URL for @self.
+ *
+ * Returns: the issue tracker URL
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_issue_url (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->issue_url;
+}
+
+/**
+ * adw_about_window_set_issue_url: (attributes org.gtk.Method.set_property=issue-url)
+ * @self: an about window
+ * @issue_url: the issue tracker URL
+ *
+ * Sets the issue tracker URL for @self.
+ *
+ * The issue tracker link is displayed on the main page.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_issue_url (AdwAboutWindow *self,
+                                const char     *issue_url)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (issue_url != NULL);
+
+  if (g_strcmp0 (self->issue_url, issue_url) == 0)
+    return;
+
+  g_free (self->issue_url);
+  self->issue_url = g_strdup (issue_url);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ISSUE_URL]);
+}
+
+/**
+ * adw_about_window_add_link:
+ * @self: an about window
+ * @title: the link title
+ * @url: the link URL
+ *
+ * Adds an extra link to the Details page.
+ *
+ * Extra links are displayed under the comment and website.
+ *
+ * Underlines in @title will be interpreted as indicating a mnemonic.
+ *
+ * See [property@AboutWindow:website].
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_add_link (AdwAboutWindow *self,
+                           const char     *title,
+                           const char     *url)
+{
+  GtkWidget *row;
+
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (title != NULL);
+  g_return_if_fail (url != NULL);
+
+  row = adw_action_row_new ();
+  adw_preferences_row_set_title (ADW_PREFERENCES_ROW (row), title);
+  adw_preferences_row_set_use_underline (ADW_PREFERENCES_ROW (row), TRUE);
+
+  adw_action_row_add_suffix (ADW_ACTION_ROW (row),
+                             gtk_image_new_from_icon_name ("adw-external-link-symbolic"));
+
+  gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), TRUE);
+  gtk_actionable_set_action_name (GTK_ACTIONABLE (row), "about.show-url");
+  gtk_actionable_set_action_target (GTK_ACTIONABLE (row), "s", url);
+
+  gtk_widget_set_tooltip_text (row, url);
+
+  adw_preferences_group_add (ADW_PREFERENCES_GROUP (self->links_group), row);
+
+  self->has_custom_links = TRUE;
+
+  update_links (self);
+
+}
+
+/**
+ * adw_about_window_get_debug_info: (attributes org.gtk.Method.get_property=debug-info)
+ * @self: an about window
+ *
+ * Gets the debug information for @self.
+ *
+ * Returns: the debug information
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_debug_info (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->debug_info;
+}
+
+/**
+ * adw_about_window_set_debug_info: (attributes org.gtk.Method.set_property=debug-info)
+ * @self: an about window
+ * @debug_info: the debug information
+ *
+ * Sets the debug information for @self.
+ *
+ * Debug information will be shown on the Troubleshooting page. It's intended
+ * to be attached to issue reports when reporting issues against the
+ * application.
+ *
+ * `AdwAboutWindow` provides a quick way to save debug information to a file.
+ * When saving, [property@AboutWindow:debug-info-filename] would be used as
+ * the suggested filename.
+ *
+ * Debug information cannot contain markup or links.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_debug_info (AdwAboutWindow *self,
+                                 const char     *debug_info)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (debug_info != NULL);
+
+  if (g_strcmp0 (self->debug_info, debug_info) == 0)
+    return;
+
+  g_free (self->debug_info);
+  self->debug_info = g_strdup (debug_info);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEBUG_INFO]);
+}
+
+/**
+ * adw_about_window_get_debug_info_filename: (attributes org.gtk.Method.get_property=debug-info-filename)
+ * @self: an about window
+ *
+ * Gets the debug information filename for @self.
+ *
+ * Returns: the debug information filename
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_debug_info_filename (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->debug_info_filename;
+}
+
+/**
+ * adw_about_window_set_debug_info_filename: (attributes org.gtk.Method.set_property=debug-info)
+ * @self: an about window
+ * @filename: the debug info filename
+ *
+ * Sets the debug information filename for @self.
+ *
+ * It will be used as the suggested filename when saving debug information to a
+ * file.
+ *
+ * See [property@AboutWindow:debug-info].
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_debug_info_filename (AdwAboutWindow *self,
+                                          const char     *filename)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (filename != NULL);
+
+  if (g_strcmp0 (self->debug_info_filename, filename) == 0)
+    return;
+
+  g_free (self->debug_info_filename);
+  self->debug_info_filename = g_strdup (filename);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEBUG_INFO_FILENAME]);
+}
+
+/**
+ * adw_about_window_get_developers: (attributes org.gtk.Method.get_property=developers)
+ * @self: an about window
+ *
+ * Gets the list of developers of the application.
+ *
+ * Returns: (nullable) (transfer none) (array zero-terminated=1): The list of developers
+ *
+ * Since: 1.2
+ */
+const char * const *
+adw_about_window_get_developers (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return (const char * const *) self->developers;
+}
+
+/**
+ * adw_about_window_set_developers: (attributes org.gtk.Method.set_property=developers)
+ * @self: an about window
+ * @developers: (nullable) (transfer none) (array zero-terminated=1): the list of developers
+ *
+ * Sets the list of developers of the application.
+ *
+ * It will be displayed on the Credits page.
+ *
+ * Each name may contain email addresses and URLs, see the introduction for more
+ * details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:designers]
+ * * [property@AboutWindow:artists]
+ * * [property@AboutWindow:documenters]
+ * * [property@AboutWindow:translator-credits]
+ * * [method@AboutWindow.add_credit_section]
+ * * [method@AboutWindow.add_acknowledgement_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_developers (AdwAboutWindow  *self,
+                                 const char     **developers)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+
+  if ((const char **) self->developers == developers)
+    return;
+
+  g_strfreev (self->developers);
+  self->developers = g_strdupv ((char **) developers);
+
+  update_credits (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DEVELOPERS]);
+}
+
+/**
+ * adw_about_window_get_designers: (attributes org.gtk.Method.get_property=designers)
+ * @self: an about window
+ *
+ * Gets the list of designers of the application.
+ *
+ * Returns: (nullable) (transfer none) (array zero-terminated=1): The list of designers
+ *
+ * Since: 1.2
+ */
+const char * const *
+adw_about_window_get_designers (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return (const char * const *) self->designers;
+}
+
+/**
+ * adw_about_window_set_designers: (attributes org.gtk.Method.set_property=designers)
+ * @self: an about window
+ * @designers: (nullable) (transfer none) (array zero-terminated=1): the list of designers
+ *
+ * Sets the list of designers of the application.
+ *
+ * It will be displayed on the Credits page.
+ *
+ * Each name may contain email addresses and URLs, see the introduction for more
+ * details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:developers]
+ * * [property@AboutWindow:artists]
+ * * [property@AboutWindow:documenters]
+ * * [property@AboutWindow:translator-credits]
+ * * [method@AboutWindow.add_credit_section]
+ * * [method@AboutWindow.add_acknowledgement_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_designers (AdwAboutWindow  *self,
+                                const char     **designers)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+
+  if ((const char **) self->designers == designers)
+    return;
+
+  g_strfreev (self->designers);
+  self->designers = g_strdupv ((char **) designers);
+
+  update_credits (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DESIGNERS]);
+}
+
+/**
+ * adw_about_window_get_artists: (attributes org.gtk.Method.get_property=artists)
+ * @self: an about window
+ *
+ * Gets the list of artists of the application.
+ *
+ * Returns: (nullable) (transfer none) (array zero-terminated=1): The list of artists
+ *
+ * Since: 1.2
+ */
+const char * const *
+adw_about_window_get_artists (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return (const char * const *) self->artists;
+}
+
+/**
+ * adw_about_window_set_artists: (attributes org.gtk.Method.set_property=artists)
+ * @self: an about window
+ * @artists: (nullable) (transfer none) (array zero-terminated=1): the list of artists
+ *
+ * Sets the list of artists of the application.
+ *
+ * It will be displayed on the Credits page.
+ *
+ * Each name may contain email addresses and URLs, see the introduction for more
+ * details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:developers]
+ * * [property@AboutWindow:designers]
+ * * [property@AboutWindow:documenters]
+ * * [property@AboutWindow:translator-credits]
+ * * [method@AboutWindow.add_credit_section]
+ * * [method@AboutWindow.add_acknowledgement_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_artists (AdwAboutWindow  *self,
+                              const char     **artists)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+
+  if ((const char **) self->artists == artists)
+    return;
+
+  g_strfreev (self->artists);
+  self->artists = g_strdupv ((char **) artists);
+
+  update_credits (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ARTISTS]);
+}
+
+/**
+ * adw_about_window_get_documenters: (attributes org.gtk.Method.get_property=documenters)
+ * @self: an about window
+ *
+ * Gets the list of documenters of the application.
+ *
+ * Returns: (nullable) (transfer none) (array zero-terminated=1): The list of documenters
+ *
+ * Since: 1.2
+ */
+const char * const *
+adw_about_window_get_documenters (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return (const char * const *) self->documenters;
+}
+
+/**
+ * adw_about_window_set_documenters: (attributes org.gtk.Method.set_property=documenters)
+ * @self: an about window
+ * @documenters: (nullable) (transfer none) (array zero-terminated=1): the list of documenters
+ *
+ * Sets the list of documenters of the application.
+ *
+ * It will be displayed on the Credits page.
+ *
+ * Each name may contain email addresses and URLs, see the introduction for more
+ * details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:developers]
+ * * [property@AboutWindow:designers]
+ * * [property@AboutWindow:artists]
+ * * [property@AboutWindow:translator-credits]
+ * * [method@AboutWindow.add_credit_section]
+ * * [method@AboutWindow.add_acknowledgement_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_documenters (AdwAboutWindow  *self,
+                                  const char     **documenters)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+
+  if ((const char **) self->documenters == documenters)
+    return;
+
+  g_strfreev (self->documenters);
+  self->documenters = g_strdupv ((char **) documenters);
+
+  update_credits (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DOCUMENTERS]);
+}
+
+/**
+ * adw_about_window_get_translator_credits: (attributes org.gtk.Method.get_property=translator-credits)
+ * @self: an about window
+ *
+ * Gets the translator credits string.
+ *
+ * Returns: The translator credits string
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_translator_credits (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->translator_credits;
+}
+
+/**
+ * adw_about_window_set_translator_credits: (attributes org.gtk.Method.set_property=translator-credits)
+ * @self: an about window
+ * @translator_credits: the translator credits
+ *
+ * Sets the translator credits string.
+ *
+ * It will be displayed on the Credits page.
+ *
+ * This string should be `"translator-credits"` or `"translator_credits"` and
+ * should be marked as translatable.
+ *
+ * The string may contain email addresses and URLs, see the introduction for
+ * more details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:developers]
+ * * [property@AboutWindow:designers]
+ * * [property@AboutWindow:artists]
+ * * [property@AboutWindow:documenters]
+ * * [method@AboutWindow.add_credit_section]
+ * * [method@AboutWindow.add_acknowledgement_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_translator_credits (AdwAboutWindow *self,
+                                         const char     *translator_credits)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (translator_credits != NULL);
+
+  if (self->translator_credits == translator_credits)
+    return;
+
+  g_free (self->translator_credits);
+  self->translator_credits = g_strdup (translator_credits);
+
+  update_credits (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSLATOR_CREDITS]);
+}
+
+/**
+ * adw_about_window_add_credit_section:
+ * @self: an about window
+ * @name: (nullable): the section name
+ * @people: (array zero-terminated=1): the list of names
+ *
+ * Adds an extra section to the Credits page.
+ *
+ * Extra sections are displayed below the standard categories.
+ *
+ * Each name may contain email addresses and URLs, see the introduction for more
+ * details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:developers]
+ * * [property@AboutWindow:designers]
+ * * [property@AboutWindow:artists]
+ * * [property@AboutWindow:documenters]
+ * * [property@AboutWindow:translator-credits]
+ * * [method@AboutWindow.add_acknowledgement_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_add_credit_section (AdwAboutWindow  *self,
+                                     const char      *name,
+                                     const char     **people)
+{
+  CreditsSection *section;
+
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (people != NULL);
+
+  section = g_new0 (CreditsSection, 1);
+  section->name = g_strdup (name);
+  section->people = g_strdupv ((char **) people);
+
+  self->credit_sections = g_slist_append (self->credit_sections, section);
+
+  update_credits (self);
+}
+
+/**
+ * adw_about_window_add_acknowledgement_section:
+ * @self: an about window
+ * @name: (nullable): the section name
+ * @people: (array zero-terminated=1): the list of names
+ *
+ * Adds a section to the Acknowledgements page.
+ *
+ * This can be used to acknowledge additional people and organizations for their
+ * non-development contributions - for example, backers in a crowdfunded
+ * project.
+ *
+ * Each name may contain email addresses and URLs, see the introduction for more
+ * details.
+ *
+ * See also:
+ *
+ * * [property@AboutWindow:developers]
+ * * [property@AboutWindow:designers]
+ * * [property@AboutWindow:artists]
+ * * [property@AboutWindow:documenters]
+ * * [property@AboutWindow:translator-credits]
+ * * [method@AboutWindow.add_credit_section]
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_add_acknowledgement_section (AdwAboutWindow  *self,
+                                              const char      *name,
+                                              const char     **people)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (people != NULL);
+
+  add_credits_section (self->acknowledgements_box, name, (char **) people);
+
+  gtk_widget_show (self->acknowledgements_box);
+}
+
+/**
+ * adw_about_window_get_copyright: (attributes org.gtk.Method.get_property=copyright)
+ * @self: an about window
+ *
+ * Gets the copyright information for @self.
+ *
+ * Returns: the copyright information
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_copyright (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->copyright;
+}
+
+/**
+ * adw_about_window_set_copyright: (attributes org.gtk.Method.set_property=copyright)
+ * @self: an about window
+ * @copyright: the copyright information
+ *
+ * Sets the copyright information for @self.
+ *
+ * This should be a short string of one or two lines, for example:
+ * `© 2022 Example`.
+ *
+ * The copyright information will be displayed on the Legal page, before the
+ * application license.
+ *
+ * [method@AboutWindow.add_legal_section] can be used to add copyright
+ * information for the application dependencies or other components.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_copyright (AdwAboutWindow *self,
+                                const char     *copyright)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (copyright != NULL);
+
+  if (g_strcmp0 (self->copyright, copyright) == 0)
+    return;
+
+  g_free (self->copyright);
+  self->copyright = g_strdup (copyright);
+
+  update_legal (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COPYRIGHT]);
+}
+
+/**
+ * adw_about_window_get_license_type: (attributes org.gtk.Method.get_property=license-type)
+ * @self: an about window
+ *
+ * Gets the license type for @self.
+ *
+ * Returns: the license type
+ *
+ * Since: 1.2
+ */
+GtkLicense
+adw_about_window_get_license_type (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), GTK_LICENSE_UNKNOWN);
+
+  return self->license_type;
+}
+
+/**
+ * adw_about_window_set_license_type: (attributes org.gtk.Method.set_property=license-type)
+ * @self: an about window
+ * @license_type: the license type
+ *
+ * Sets the license for @self from a list of known licenses.
+ *
+ * If the application's license is not in the list,
+ * [property@AboutWindow:license] can be used instead. The license type will be
+ * automatically set to `GTK_LICENSE_CUSTOM` in that case.
+ *
+ * If @license_type is `GTK_LICENSE_UNKNOWN`, no information will be displayed.
+ *
+ * If @license_type is different from `GTK_LICENSE_CUSTOM`.
+ * [property@AboutWindow:license] will be cleared out.
+ *
+ * The license description will be displayed on the Legal page, below the
+ * copyright information.
+ *
+ * [method@AboutWindow.add_legal_section] can be used to add license information
+ * for the application dependencies or other components.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_license_type (AdwAboutWindow *self,
+                                   GtkLicense      license_type)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (license_type >= GTK_LICENSE_UNKNOWN &&
+                    license_type < G_N_ELEMENTS (gtk_license_info));
+
+  if (self->license_type == license_type)
+    return;
+
+  if (license_type != GTK_LICENSE_CUSTOM) {
+    g_free (self->license);
+    self->license = g_strdup ("");
+  }
+
+  self->license_type = license_type;
+
+  update_legal (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LICENSE]);
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LICENSE_TYPE]);
+}
+
+/**
+ * adw_about_window_get_license: (attributes org.gtk.Method.get_property=license)
+ * @self: an about window
+ *
+ * Gets the license for @self.
+ *
+ * Returns: the license
+ *
+ * Since: 1.2
+ */
+const char *
+adw_about_window_get_license (AdwAboutWindow *self)
+{
+  g_return_val_if_fail (ADW_IS_ABOUT_WINDOW (self), NULL);
+
+  return self->license;
+}
+
+/**
+ * adw_about_window_set_license: (attributes org.gtk.Method.set_property=license)
+ * @self: an about window
+ * @license: the license
+ *
+ * Sets the license for @self.
+ *
+ * This can be used to set a custom text for the license if it can't be set via
+ * [property@AboutWindow:license-type].
+ *
+ * When set, [property@AboutWindow:license-type] will be set to
+ * `GTK_LICENSE_CUSTOM`.
+ *
+ * The license text will be displayed on the Legal page, below the copyright
+ * information.
+ *
+ * License text can contain Pango markup and links.
+ *
+ * [method@AboutWindow.add_legal_section] can be used to add license information
+ * for the application dependencies or other components.
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_set_license (AdwAboutWindow *self,
+                              const char     *license)
+{
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (license != NULL);
+
+  if (g_strcmp0 (self->license, license) == 0)
+    return;
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  g_free (self->license);
+  self->license = g_strdup (license);
+  self->license_type = GTK_LICENSE_CUSTOM;
+
+  update_legal (self);
+
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LICENSE]);
+  g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LICENSE_TYPE]);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * adw_about_window_add_legal_section:
+ * @self: an about window
+ * @title: the name of the section
+ * @copyright: (nullable): a copyright string
+ * @license_type: the type of license
+ * @license: (nullable): custom license information
+ *
+ * Adds an extra section to the Legal page.
+ *
+ * Extra sections will be displayed below the application's own information.
+ *
+ * The parameters @copyright, @license_type and @license will be used to present
+ * the it the same way as [property@AboutWindow:copyright],
+ * [property@AboutWindow:license-type] and [property@AboutWindow:license] are
+ * for the application's own information.
+ *
+ * See those properties for more details.
+ *
+ * This can be useful to attribute the application dependencies or data.
+ *
+ * Examples:
+ *
+ * ```c
+ * adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
+ *                                     _("Copyright and a known license"),
+ *                                     "© 2022 Example",
+ *                                     GTK_LICENSE_LGPL_2_1,
+ *                                     NULL);
+ *
+ * adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
+ *                                     _("Copyright and custom license"),
+ *                                     "© 2022 Example",
+ *                                     GTK_LICENSE_CUSTOM,
+ *                                     "Custom license text");
+ *
+ * adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
+ *                                     _("Copyright only"),
+ *                                     "© 2022 Example",
+ *                                     GTK_LICENSE_UNKNOWN,
+ *                                     NULL);
+ *
+ * adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
+ *                                     _("Custom license only"),
+ *                                     NULL,
+ *                                     GTK_LICENSE_CUSTOM,
+ *                                     "Something completely custom here.");
+ * ```
+ *
+ * Since: 1.2
+ */
+void
+adw_about_window_add_legal_section (AdwAboutWindow *self,
+                                    const char     *title,
+                                    const char     *copyright,
+                                    GtkLicense      license_type,
+                                    const char     *license)
+{
+  LegalSection *section;
+
+  g_return_if_fail (ADW_IS_ABOUT_WINDOW (self));
+  g_return_if_fail (title != NULL);
+  g_return_if_fail (license_type >= GTK_LICENSE_UNKNOWN &&
+                    license_type < G_N_ELEMENTS (gtk_license_info));
+
+  section = g_new0 (LegalSection, 1);
+  section->title = g_strdup (title);
+  section->copyright = g_strdup (copyright);
+  section->license_type = license_type;
+  section->license = g_strdup (license);
+
+  self->legal_sections = g_slist_append (self->legal_sections, section);
+
+  update_legal (self);
+}
+
+/**
+ * adw_show_about_window:
+ * @parent: (nullable): the parent top-level window
+ * @first_property_name: the name of the first property
+ * @...: value of first property, followed by more pairs of property name and
+ *   value, `NULL`-terminated
+ *
+ * A convenience function for showing an application’s about window.
+ */
+void
+adw_show_about_window (GtkWindow  *parent,
+                       const char *first_property_name,
+                       ...)
+{
+  GtkWidget *window;
+  va_list var_args;
+
+  window = adw_about_window_new ();
+
+  va_start (var_args, first_property_name);
+  g_object_set_valist (G_OBJECT (window), first_property_name, var_args);
+  va_end (var_args);
+
+  if (parent)
+    gtk_window_set_transient_for (GTK_WINDOW (window), parent);
+
+  gtk_window_present (GTK_WINDOW (window));
+}
diff --git a/src/adw-about-window.h b/src/adw-about-window.h
new file mode 100644
index 00000000..e6a041d4
--- /dev/null
+++ b/src/adw-about-window.h
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2021-2022 Purism SPC
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ */
+
+#pragma once
+
+#if !defined(_ADWAITA_INSIDE) && !defined(ADWAITA_COMPILATION)
+#error "Only <adwaita.h> can be included directly."
+#endif
+
+#include "adw-version.h"
+
+#include <gtk/gtk.h>
+#include "adw-window.h"
+
+G_BEGIN_DECLS
+
+#define ADW_TYPE_ABOUT_WINDOW (adw_about_window_get_type())
+
+ADW_AVAILABLE_IN_1_2
+G_DECLARE_FINAL_TYPE (AdwAboutWindow, adw_about_window, ADW, ABOUT_WINDOW, AdwWindow)
+
+ADW_AVAILABLE_IN_1_2
+GtkWidget *adw_about_window_new (void) G_GNUC_WARN_UNUSED_RESULT;
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_application_name (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_application_name (AdwAboutWindow *self,
+                                                   const char     *application_name);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_application_icon (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_application_icon (AdwAboutWindow *self,
+                                                   const char     *application_icon);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_developer_name (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_developer_name (AdwAboutWindow *self,
+                                                 const char     *developer_name);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_version (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_version (AdwAboutWindow *self,
+                                          const char     *version);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_release_notes_version (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_release_notes_version (AdwAboutWindow *self,
+                                                        const char     *version);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_release_notes (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_release_notes (AdwAboutWindow *self,
+                                                const char     *release_notes);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_comments (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_comments (AdwAboutWindow *self,
+                                           const char     *comments);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_website (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_website (AdwAboutWindow *self,
+                                          const char     *website);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_support_url (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_support_url (AdwAboutWindow *self,
+                                              const char     *support_url);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_issue_url (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_issue_url (AdwAboutWindow *self,
+                                            const char     *issue_url);
+
+ADW_AVAILABLE_IN_1_2
+void adw_about_window_add_link (AdwAboutWindow *self,
+                                const char     *title,
+                                const char     *url);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_debug_info (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_debug_info (AdwAboutWindow *self,
+                                             const char     *debug_info);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_debug_info_filename (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_debug_info_filename (AdwAboutWindow *self,
+                                                      const char     *filename);
+
+ADW_AVAILABLE_IN_1_2
+const char * const *adw_about_window_get_developers (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void                adw_about_window_set_developers (AdwAboutWindow  *self,
+                                                     const char     **developers);
+
+ADW_AVAILABLE_IN_1_2
+const char * const *adw_about_window_get_designers (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void                adw_about_window_set_designers (AdwAboutWindow  *self,
+                                                    const char     **designers);
+
+ADW_AVAILABLE_IN_1_2
+const char * const *adw_about_window_get_artists (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void                adw_about_window_set_artists (AdwAboutWindow  *self,
+                                                  const char     **artists);
+
+ADW_AVAILABLE_IN_1_2
+const char * const *adw_about_window_get_documenters (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void                adw_about_window_set_documenters (AdwAboutWindow  *self,
+                                                      const char     **documenters);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_translator_credits (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_translator_credits (AdwAboutWindow *self,
+                                                     const char     *translator_credits);
+
+ADW_AVAILABLE_IN_1_2
+void adw_about_window_add_credit_section (AdwAboutWindow  *self,
+                                          const char      *name,
+                                          const char     **people);
+
+ADW_AVAILABLE_IN_1_2
+void adw_about_window_add_acknowledgement_section (AdwAboutWindow  *self,
+                                                   const char      *name,
+                                                   const char     **people);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_copyright (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_copyright (AdwAboutWindow *self,
+                                            const char     *copyright);
+
+ADW_AVAILABLE_IN_1_2
+GtkLicense adw_about_window_get_license_type (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void       adw_about_window_set_license_type (AdwAboutWindow *self,
+                                              GtkLicense      license_type);
+
+ADW_AVAILABLE_IN_1_2
+const char *adw_about_window_get_license (AdwAboutWindow *self);
+ADW_AVAILABLE_IN_1_2
+void        adw_about_window_set_license (AdwAboutWindow *self,
+                                          const char     *license);
+
+ADW_AVAILABLE_IN_1_2
+void adw_about_window_add_legal_section (AdwAboutWindow *self,
+                                         const char     *title,
+                                         const char     *copyright,
+                                         GtkLicense      license_type,
+                                         const char     *license);
+
+ADW_AVAILABLE_IN_1_2
+void adw_show_about_window (GtkWindow  *parent,
+                            const char *first_property_name,
+                            ...);
+
+G_END_DECLS
diff --git a/src/adw-about-window.ui b/src/adw-about-window.ui
new file mode 100644
index 00000000..d3c1ff91
--- /dev/null
+++ b/src/adw-about-window.ui
@@ -0,0 +1,811 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface domain="libadwaita">
+  <requires lib="gtk" version="4.0"/>
+  <template class="AdwAboutWindow" parent="AdwWindow">
+    <property name="title" translatable="yes">About</property>
+    <property name="default-width">360</property>
+    <property name="modal">True</property>
+    <property name="destroy-with-parent">True</property>
+    <style>
+      <class name="about"/>
+    </style>
+    <property name="content">
+      <object class="AdwToastOverlay" id="toast_overlay">
+        <property name="child">
+          <object class="AdwLeaflet" id="leaflet">
+            <property name="can-navigate-back">True</property>
+            <property name="can-unfold">False</property>
+            <property name="width-request">360</property>
+            <child>
+              <object class="GtkOverlay">
+                <property name="child">
+                  <object class="GtkScrolledWindow" id="main_scrolled_window">
+                    <property name="hscrollbar-policy">never</property>
+                    <property name="propagate-natural-width">True</property>
+                    <property name="propagate-natural-height">True</property>
+                    <property name="max-content-height">600</property>
+                    <style>
+                      <class name="main-page"/>
+                    </style>
+                    <property name="child">
+                      <object class="AdwClamp">
+                        <property name="child">
+                          <object class="GtkBox">
+                            <property name="orientation">vertical</property>
+                            <property name="vexpand">True</property>
+                            <child>
+                              <object class="GtkImage">
+                                <binding name="visible">
+                                  <closure function="string_is_not_empty" type="gboolean">
+                                    <lookup name="application-icon">AdwAboutWindow</lookup>
+                                  </closure>
+                                </binding>
+                                <binding name="icon-name">
+                                  <lookup name="application-icon">AdwAboutWindow</lookup>
+                                </binding>
+                                <property name="pixel-size">128</property>
+                                <style>
+                                  <class name="icon-dropshadow"/>
+                                </style>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="wrap">True</property>
+                                <property name="justify">center</property>
+                                <binding name="visible">
+                                  <closure function="string_is_not_empty" type="gboolean">
+                                    <lookup name="application-name">AdwAboutWindow</lookup>
+                                  </closure>
+                                </binding>
+                                <binding name="label">
+                                  <lookup name="application-name">AdwAboutWindow</lookup>
+                                </binding>
+                                <style>
+                                  <class name="title-1"/>
+                                </style>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="wrap">True</property>
+                                <property name="justify">center</property>
+                                <binding name="visible">
+                                  <closure function="string_is_not_empty" type="gboolean">
+                                    <lookup name="developer-name">AdwAboutWindow</lookup>
+                                  </closure>
+                                </binding>
+                                <binding name="label">
+                                  <lookup name="developer-name">AdwAboutWindow</lookup>
+                                </binding>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="halign">center</property>
+                                <property name="action-name">about.copy-property</property>
+                                <property name="action-target">"version"</property>
+                                <property name="child">
+                                  <object class="GtkLabel">
+                                    <property name="ellipsize">end</property>
+                                    <binding name="label">
+                                      <lookup name="version">AdwAboutWindow</lookup>
+                                    </binding>
+                                  </object>
+                                </property>
+                                <binding name="visible">
+                                  <closure function="string_is_not_empty" type="gboolean">
+                                    <lookup name="version">AdwAboutWindow</lookup>
+                                  </closure>
+                                </binding>
+                                <style>
+                                  <class name="app-version"/>
+                                </style>
+                              </object>
+                            </child>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="orientation">vertical</property>
+                                <child>
+                                  <object class="AdwPreferencesGroup">
+                                    <binding name="visible">
+                                      <closure function="boolean_or" type="gboolean">
+                                        <constant type="gint">3</constant>
+                                        <lookup name="visible">whats_new_row</lookup>
+                                        <lookup name="visible">details_row</lookup>
+                                        <lookup name="visible">website_row</lookup>
+                                      </closure>
+                                    </binding>
+                                    <child>
+                                      <object class="AdwActionRow" id="whats_new_row">
+                                        <property name="title" translatable="yes">_What’s New</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.subpage</property>
+                                        <property name="action-target">"whatsnew"</property>
+                                        <binding name="visible">
+                                          <closure function="string_is_not_empty" type="gboolean">
+                                            <lookup name="text">release_notes_buffer</lookup>
+                                          </closure>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">go-next-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwActionRow" id="details_row">
+                                        <property name="title" translatable="yes">_Details</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.subpage</property>
+                                        <property name="action-target">"details"</property>
+                                        <binding name="visible">
+                                          <closure function="boolean_or" type="gboolean">
+                                            <constant type="gint">2</constant>
+                                            <lookup name="visible">comments</lookup>
+                                            <lookup name="visible">links_group</lookup>
+                                          </closure>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">go-next-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwActionRow" id="website_row">
+                                        <property name="visible">False</property>
+                                        <property name="title" translatable="yes">_Website</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.show-url-property</property>
+                                        <property name="action-target">"website"</property>
+                                        <binding name="tooltip-text">
+                                          <lookup name="website">AdwAboutWindow</lookup>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">adw-external-link-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+
+                                <child>
+                                  <object class="AdwPreferencesGroup">
+                                    <binding name="visible">
+                                      <closure function="boolean_or" type="gboolean">
+                                        <constant type="gint">3</constant>
+                                        <lookup name="visible">support_row</lookup>
+                                        <lookup name="visible">issue_row</lookup>
+                                        <lookup name="visible">troubleshooting_row</lookup>
+                                      </closure>
+                                    </binding>
+                                    <child>
+                                      <object class="AdwActionRow" id="support_row">
+                                        <property name="activatable">True</property>
+                                        <property name="title" translatable="yes">_Support 
Questions</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="action-name">about.show-url-property</property>
+                                        <property name="action-target">"support-url"</property>
+                                        <binding name="tooltip-text">
+                                          <lookup name="support-url">AdwAboutWindow</lookup>
+                                        </binding>
+                                        <binding name="visible">
+                                          <closure function="string_is_not_empty" type="gboolean">
+                                            <lookup name="support-url">AdwAboutWindow</lookup>
+                                          </closure>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">adw-external-link-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwActionRow" id="issue_row">
+                                        <property name="activatable">True</property>
+                                        <property name="title" translatable="yes">_Report an Issue</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="action-name">about.show-url-property</property>
+                                        <property name="action-target">"issue-url"</property>
+                                        <binding name="tooltip-text">
+                                          <lookup name="issue-url">AdwAboutWindow</lookup>
+                                        </binding>
+                                        <binding name="visible">
+                                          <closure function="string_is_not_empty" type="gboolean">
+                                            <lookup name="issue-url">AdwAboutWindow</lookup>
+                                          </closure>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">adw-external-link-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwActionRow" id="troubleshooting_row">
+                                        <property name="title" translatable="yes">_Troubleshooting</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.subpage</property>
+                                        <property name="action-target">"troubleshooting"</property>
+                                        <binding name="visible">
+                                          <closure function="string_is_not_empty" type="gboolean">
+                                            <lookup name="debug-info">AdwAboutWindow</lookup>
+                                          </closure>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">go-next-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="AdwPreferencesGroup">
+                                    <binding name="visible">
+                                      <closure function="boolean_or" type="gboolean">
+                                        <constant type="gint">3</constant>
+                                        <lookup name="visible">credits_box</lookup>
+                                        <lookup name="visible">legal_box</lookup>
+                                        <lookup name="visible">acknowledgements_box</lookup>
+                                      </closure>
+                                    </binding>
+                                    <child>
+                                      <object class="AdwActionRow">
+                                        <property name="title" translatable="yes">_Credits</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.subpage</property>
+                                        <property name="action-target">"credits"</property>
+                                        <binding name="visible">
+                                          <lookup name="visible">credits_box</lookup>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">go-next-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwActionRow">
+                                        <property name="title" translatable="yes">_Legal</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.subpage</property>
+                                        <property name="action-target">"legal"</property>
+                                        <binding name="visible">
+                                          <lookup name="visible">legal_box</lookup>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">go-next-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwActionRow">
+                                        <property name="title" 
translatable="yes">_Acknowledgements</property>
+                                        <property name="use-underline">True</property>
+                                        <property name="activatable">True</property>
+                                        <property name="action-name">about.subpage</property>
+                                        <property name="action-target">"acknowledgements"</property>
+                                        <binding name="visible">
+                                          <lookup name="visible">acknowledgements_box</lookup>
+                                        </binding>
+                                        <child>
+                                          <object class="GtkImage">
+                                            <property name="icon-name">go-next-symbolic</property>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </property>
+                      </object>
+                    </property>
+                  </object>
+                </property>
+                <child type="overlay">
+                  <object class="GtkStack" id="headerbar_stack">
+                    <property name="transition-type">crossfade</property>
+                    <property name="transition-duration">150</property>
+                    <property name="valign">start</property>
+                    <binding name="visible-child-name">
+                      <closure function="get_headerbar_name" type="gchararray">
+                        <lookup name="value" type="GtkAdjustment">
+                          <lookup name="vadjustment">main_scrolled_window</lookup>
+                        </lookup>
+                      </closure>
+                    </binding>
+                    <child>
+                      <object class="GtkStackPage">
+                        <property name="name">top</property>
+                        <property name="child">
+                          <object class="GtkHeaderBar">
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="visible">False</property>
+                              </object>
+                            </property>
+                            <style>
+                              <class name="flat"/>
+                            </style>
+                          </object>
+                        </property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkStackPage">
+                        <property name="name">regular</property>
+                        <property name="child">
+                          <object class="GtkHeaderBar"/>
+                        </property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkStack" id="subpage_stack">
+
+                <child>
+                  <object class="GtkStackPage">
+                    <property name="name">whatsnew</property>
+                    <property name="child">
+                      <object class="GtkBox">
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkHeaderBar">
+                            <property name="valign">start</property>
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="title" translatable="yes">What’s New</property>
+                              </object>
+                            </property>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="tooltip-text" translatable="yes">Back</property>
+                                <property name="icon-name">go-previous-symbolic</property>
+                                <property name="action-name">about.back</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkScrolledWindow">
+                            <property name="hscrollbar-policy">never</property>
+                            <property name="vexpand">True</property>
+                            <style>
+                              <class name="subpage"/>
+                            </style>
+                            <property name="child">
+                              <object class="AdwClampScrollable">
+                                <property name="child">
+                                  <object class="GtkTextView">
+                                    <property name="left-margin">12</property>
+                                    <property name="right-margin">12</property>
+                                    <property name="top-margin">18</property>
+                                    <property name="bottom-margin">18</property>
+                                    <property name="wrap-mode">word-char</property>
+                                    <property name="editable">False</property>
+                                    <property name="buffer">
+                                      <object class="GtkTextBuffer" id="release_notes_buffer">
+                                        <property name="enable-undo">False</property>
+                                      </object>
+                                    </property>
+                                  </object>
+                                </property>
+                              </object>
+                            </property>
+                          </object>
+                        </child>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="GtkStackPage">
+                    <property name="name">details</property>
+                    <property name="child">
+                      <object class="GtkBox">
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkHeaderBar">
+                            <property name="valign">start</property>
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="title" translatable="yes">Details</property>
+                              </object>
+                            </property>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="tooltip-text" translatable="yes">Back</property>
+                                <property name="icon-name">go-previous-symbolic</property>
+                                <property name="action-name">about.back</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkScrolledWindow">
+                            <property name="hscrollbar-policy">never</property>
+                            <property name="vexpand">True</property>
+                            <style>
+                              <class name="subpage"/>
+                            </style>
+                            <property name="child">
+                              <object class="AdwClamp">
+                                <property name="child">
+                                  <object class="GtkBox">
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkLabel" id="comments">
+                                        <property name="use-markup">True</property>
+                                        <property name="wrap">True</property>
+                                        <property name="wrap-mode">word-char</property>
+                                        <property name="xalign">0</property>
+                                        <binding name="label">
+                                          <lookup name="comments">AdwAboutWindow</lookup>
+                                        </binding>
+                                        <signal name="activate-link" handler="activate_link_cb" 
swapped="yes"/>
+                                        <binding name="visible">
+                                          <closure function="string_is_not_empty" type="gboolean">
+                                            <lookup name="comments">AdwAboutWindow</lookup>
+                                          </closure>
+                                        </binding>
+                                        <style>
+                                          <class name="body"/>
+                                        </style>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwPreferencesGroup" id="links_group">
+                                        <property name="visible">False</property>
+                                        <child>
+                                          <object class="AdwActionRow" id="details_website_row">
+                                            <property name="visible">False</property>
+                                            <property name="title" translatable="yes">_Website</property>
+                                            <property name="use-underline">True</property>
+                                            <property name="activatable">True</property>
+                                            <property name="action-name">about.show-url-property</property>
+                                            <property name="action-target">"website"</property>
+                                            <binding name="tooltip-text">
+                                              <lookup name="website">AdwAboutWindow</lookup>
+                                            </binding>
+                                            <child>
+                                              <object class="GtkImage">
+                                                <property 
name="icon-name">adw-external-link-symbolic</property>
+                                              </object>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </property>
+                              </object>
+                            </property>
+                          </object>
+                        </child>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="GtkStackPage">
+                    <property name="name">troubleshooting</property>
+                    <property name="child">
+                      <object class="GtkBox">
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkHeaderBar">
+                            <property name="valign">start</property>
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="title" translatable="yes">Troubleshooting</property>
+                              </object>
+                            </property>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="tooltip-text" translatable="yes">Back</property>
+                                <property name="icon-name">go-previous-symbolic</property>
+                                <property name="action-name">about.back</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkScrolledWindow">
+                            <property name="hscrollbar-policy">never</property>
+                            <property name="vexpand">True</property>
+                            <style>
+                              <class name="subpage"/>
+                            </style>
+                            <property name="child">
+                              <object class="AdwClamp">
+                                <property name="child">
+                                  <object class="GtkBox">
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkLabel">
+                                        <property name="wrap">True</property>
+                                        <property name="wrap-mode">word-char</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">To assist in 
troubleshooting, you can view your debugging information. Providing this information to the application 
developers can help diagnose any problems you encounter when you report an issue.</property>
+                                        <signal name="activate-link" handler="activate_link_cb" 
swapped="yes"/>
+                                        <style>
+                                          <class name="body"/>
+                                        </style>
+                                      </object>
+                                    </child>
+                                    <child>
+                                      <object class="AdwPreferencesGroup">
+                                        <child>
+                                          <object class="AdwActionRow">
+                                            <property name="title" translatable="yes">_Debugging 
Information</property>
+                                            <property name="use-underline">True</property>
+                                            <property name="activatable">True</property>
+                                            <property name="action-name">about.debug</property>
+                                            <child>
+                                              <object class="GtkImage">
+                                                <property name="icon-name">go-next-symbolic</property>
+                                              </object>
+                                            </child>
+                                          </object>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                </property>
+                              </object>
+                            </property>
+                          </object>
+                        </child>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="GtkStackPage">
+                    <property name="name">credits</property>
+                    <property name="child">
+                      <object class="GtkBox">
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkHeaderBar">
+                            <property name="valign">start</property>
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="title" translatable="yes">Credits</property>
+                              </object>
+                            </property>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="tooltip-text" translatable="yes">Back</property>
+                                <property name="icon-name">go-previous-symbolic</property>
+                                <property name="action-name">about.back</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkScrolledWindow">
+                            <property name="hscrollbar-policy">never</property>
+                            <property name="vexpand">True</property>
+                            <style>
+                              <class name="subpage"/>
+                            </style>
+                            <property name="child">
+                              <object class="AdwClamp">
+                                <property name="child">
+                                  <object class="GtkBox" id="credits_box">
+                                    <property name="orientation">vertical</property>
+                                    <property name="visible">False</property>
+                                  </object>
+                                </property>
+                              </object>
+                            </property>
+                          </object>
+                        </child>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="GtkStackPage">
+                    <property name="name">legal</property>
+                    <property name="child">
+                      <object class="GtkBox">
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkHeaderBar">
+                            <property name="valign">start</property>
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="title" translatable="yes">Legal</property>
+                              </object>
+                            </property>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="tooltip-text" translatable="yes">Back</property>
+                                <property name="icon-name">go-previous-symbolic</property>
+                                <property name="action-name">about.back</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkScrolledWindow">
+                            <property name="hscrollbar-policy">never</property>
+                            <property name="vexpand">True</property>
+                            <style>
+                              <class name="subpage"/>
+                            </style>
+                            <property name="child">
+                              <object class="AdwClamp">
+                                <property name="child">
+                                  <object class="GtkBox" id="legal_box">
+                                    <property name="orientation">vertical</property>
+                                    <property name="visible">False</property>
+                                  </object>
+                                </property>
+                              </object>
+                            </property>
+                          </object>
+                        </child>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+
+                <child>
+                  <object class="GtkStackPage">
+                    <property name="name">acknowledgements</property>
+                    <property name="child">
+                      <object class="GtkBox">
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkHeaderBar">
+                            <property name="valign">start</property>
+                            <property name="title-widget">
+                              <object class="AdwWindowTitle">
+                                <property name="title" translatable="yes">Acknowledgements</property>
+                              </object>
+                            </property>
+                            <child>
+                              <object class="GtkButton">
+                                <property name="tooltip-text" translatable="yes">Back</property>
+                                <property name="icon-name">go-previous-symbolic</property>
+                                <property name="action-name">about.back</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkScrolledWindow">
+                            <property name="hscrollbar-policy">never</property>
+                            <property name="vexpand">True</property>
+                            <style>
+                              <class name="subpage"/>
+                            </style>
+                            <property name="child">
+                              <object class="AdwClamp">
+                                <property name="child">
+                                  <object class="GtkBox" id="acknowledgements_box">
+                                    <property name="orientation">vertical</property>
+                                    <property name="visible">False</property>
+                                  </object>
+                                </property>
+                              </object>
+                            </property>
+                          </object>
+                        </child>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+
+              </object>
+            </child>
+
+            <child>
+              <object class="GtkBox" id="debug_info_page">
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkHeaderBar">
+                    <property name="valign">start</property>
+                    <property name="title-widget">
+                      <object class="AdwWindowTitle">
+                        <property name="title" translatable="yes">Debugging Information</property>
+                      </object>
+                    </property>
+                    <child>
+                      <object class="GtkButton">
+                        <property name="tooltip-text" translatable="yes">Back</property>
+                        <property name="icon-name">go-previous-symbolic</property>
+                        <property name="action-name">about.back</property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow">
+                    <property name="hscrollbar-policy">never</property>
+                    <property name="vexpand">True</property>
+                    <style>
+                      <class name="subpage"/>
+                    </style>
+                    <property name="child">
+                      <object class="AdwClampScrollable">
+                        <property name="child">
+                          <object class="GtkTextView">
+                            <property name="left-margin">12</property>
+                            <property name="right-margin">12</property>
+                            <property name="top-margin">18</property>
+                            <property name="bottom-margin">18</property>
+                            <property name="wrap-mode">word-char</property>
+                            <property name="editable">False</property>
+                            <property name="buffer">
+                              <object class="GtkTextBuffer" id="debug_info_buffer">
+                                <property name="enable-undo">False</property>
+                                <property name="text" bind-source="AdwAboutWindow" 
bind-property="debug-info" bind-flags="sync-create"/>
+                              </object>
+                            </property>
+                          </object>
+                        </property>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkActionBar">
+                    <property name="revealed">True</property>
+                    <child>
+                      <object class="GtkButton">
+                        <property name="action-name">about.copy-property</property>
+                        <property name="action-target">"debug-info"</property>
+                        <property name="label" translatable="yes">_Copy Text</property>
+                        <property name="use-underline">True</property>
+                      </object>
+                    </child>
+                    <child type="end">
+                      <object class="GtkButton">
+                        <property name="action-name">about.save-debug-info</property>
+                        <property name="label" translatable="yes">_Save as…</property>
+                        <property name="use-underline">True</property>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+
+          </object>
+        </property>
+      </object>
+    </property>
+  </template>
+</interface>
diff --git a/src/adwaita.gresources.xml b/src/adwaita.gresources.xml
index da724d86..58a0d7c4 100644
--- a/src/adwaita.gresources.xml
+++ b/src/adwaita.gresources.xml
@@ -4,11 +4,14 @@
     <file>glsl/fade.glsl</file>
     <file>glsl/mask.glsl</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/adw-entry-apply-symbolic.svg</file>
+    <file preprocess="xml-stripblanks">icons/scalable/actions/adw-external-link-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/actions/adw-expander-arrow-symbolic.svg</file>
+    <file preprocess="xml-stripblanks">icons/scalable/actions/adw-mail-send-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/status/avatar-default-symbolic.svg</file>
     <file preprocess="xml-stripblanks">icons/scalable/status/adw-tab-icon-missing-symbolic.svg</file>
   </gresource>
   <gresource prefix="/org/gnome/Adwaita/ui">
+    <file preprocess="xml-stripblanks">adw-about-window.ui</file>
     <file preprocess="xml-stripblanks">adw-action-row.ui</file>
     <file preprocess="xml-stripblanks">adw-combo-row.ui</file>
     <file preprocess="xml-stripblanks">adw-entry-row.ui</file>
diff --git a/src/adwaita.h b/src/adwaita.h
index a2fda744..509a9740 100644
--- a/src/adwaita.h
+++ b/src/adwaita.h
@@ -21,6 +21,7 @@ G_BEGIN_DECLS
 #define _ADWAITA_INSIDE
 
 #include "adw-version.h"
+#include "adw-about-window.h"
 #include "adw-action-row.h"
 #include "adw-animation.h"
 #include "adw-animation-target.h"
diff --git a/src/icons/scalable/actions/adw-external-link-symbolic.svg 
b/src/icons/scalable/actions/adw-external-link-symbolic.svg
new file mode 100644
index 00000000..549d0f12
--- /dev/null
+++ b/src/icons/scalable/actions/adw-external-link-symbolic.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg";><path d="M3 2C1.34 2 0 3.34 0 5v8c0 1.66 1.34 
3 3 3h8c1.66 0 3-1.34 3-3V9c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .555-.445 1-1 1H3c-.555 
0-1-.445-1-1V5c0-.555.445-1 1-1h4c.55 0 1-.45 1-1s-.45-1-1-1zm7-2c-.55 0-1 .45-1 1s.45 1 1 1h2.586L7.293 
7.29c-.39.394-.39 1.026 0 1.417s1.023.39 1.414 0L14 3.414V6c0 .55.45 1 1 1s1-.45 1-1V1a.976.976 0 0 
0-.035-.258.884.884 0 0 0-.102-.242.994.994 0 0 0-.156-.207L15.66.258a.863.863 0 0 0-.297-.176.73.73 0 0 
0-.156-.05c-.039-.012-.082-.016-.121-.02C15.055.004 15.027.004 15 0zm0 0" fill="#222"/></svg>
\ No newline at end of file
diff --git a/src/icons/scalable/actions/adw-mail-send-symbolic.svg 
b/src/icons/scalable/actions/adw-mail-send-symbolic.svg
new file mode 100644
index 00000000..932bd11c
--- /dev/null
+++ b/src/icons/scalable/actions/adw-mail-send-symbolic.svg
@@ -0,0 +1 @@
+<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg";><path d="M8 0a.993.993 0 0 0-.707.293l-1.25 
1.25-1.762 1.73c-.191.2-.281.442-.281.75 0 .977 1 1 1 1 .258 0 .527-.128.719-.312L7 3.43V7s0 1 1 1 1-1 
1-1V3.43l1.281 1.28c.192.185.41.313.719.313 0 0 1-.023 1-1 
0-.308-.09-.55-.281-.75l-1.762-1.73-1.25-1.25A.993.993 0 0 0 8 0zM3 9c-1.645 0-3 1.355-3 3v4h2v-3.8l4.613 
3.077a2.505 2.505 0 0 0 2.774 0L14 12.2V16h2v-4c0-1.645-1.355-3-3-3zm.8 2h8.4l-3.923 2.613a.495.495 0 0 
1-.554 0zm0 0" fill="#2e3436"/></svg>
\ No newline at end of file
diff --git a/src/meson.build b/src/meson.build
index eb2d9041..b2c47498 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -81,6 +81,7 @@ libadwaita_private_sources += adw_private_enums
 libadwaita_generated_headers += [adw_public_enums[1]]
 
 src_headers = [
+  'adw-about-window.h',
   'adw-action-row.h',
   'adw-animation.h',
   'adw-animation-target.h',
@@ -145,6 +146,7 @@ libadwaita_init_public_types = custom_target('adw-public-types.c',
 )
 
 src_sources = [
+  'adw-about-window.c',
   'adw-action-row.c',
   'adw-animation.c',
   'adw-animation-target.c',
diff --git a/src/stylesheet/widgets/_misc.scss b/src/stylesheet/widgets/_misc.scss
index 6c4ff1f7..3d35a672 100644
--- a/src/stylesheet/widgets/_misc.scss
+++ b/src/stylesheet/widgets/_misc.scss
@@ -96,6 +96,52 @@ statusbar {
   padding: 6px 10px 6px 10px;
 }
 
+/******************
+ * AdwAboutWindow *
+ ******************/
+
+window.about {
+  .main-page {
+    scrollbar.vertical {
+      // Keep in sync with header bar height
+      margin-top: 47px;
+      background: none;
+      box-shadow: none;
+    }
+
+    > viewport > clamp > box {
+      margin: 12px;
+      margin-top: 59px; // 12px + 47px
+      border-spacing: 6px;
+
+      > box {
+        margin-top: 18px;
+        border-spacing: 18px;
+        margin-bottom: 6px;
+      }
+    }
+
+    .app-version {
+      padding: 3px 18px;
+      color: $accent_color;
+      border-radius: 999px;
+      margin-top: 3px;
+    }
+  }
+
+  .subpage {
+    > viewport > clamp > box {
+      margin: 18px 12px;
+      border-spacing: 18px;
+    }
+
+    > clamp > textview {
+      background: none;
+      color: inherit;
+    }
+  }
+}
+
 /*****************
  * AdwStatusPage *
  *****************/
diff --git a/tests/meson.build b/tests/meson.build
index b2a660e5..2f17a06c 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -24,6 +24,7 @@ if cc.get_argument_syntax() != 'msvc'
 endif
 
 test_names = [
+  'test-about-window',
   'test-action-row',
   'test-animation',
   'test-animation-target',
diff --git a/tests/test-about-window.c b/tests/test-about-window.c
new file mode 100644
index 00000000..f9c8f6b7
--- /dev/null
+++ b/tests/test-about-window.c
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2022 Purism SPC
+ *
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ *
+ * Author: Alexander Mikhaylenko <alexander mikhaylenko puri sm>
+ */
+
+#include <adwaita.h>
+
+static void
+test_adw_about_window_create (void)
+{
+  AdwAboutWindow *window = ADW_ABOUT_WINDOW (adw_about_window_new ());
+
+  const char *developers[] = {
+    "Angela Avery",
+    NULL
+  };
+
+  const char *designers[] = {
+    "GNOME Design Team",
+    NULL
+  };
+
+  const char *artists[] = {
+    "GNOME Design Team",
+    NULL
+  };
+
+  const char *documenters[] = {
+    "Angela Avery",
+    NULL
+  };
+
+  const char *credits[] = {
+    "Angela Avery",
+    NULL
+  };
+
+  const char *acknowledgements[] = {
+    "Angela Avery",
+    NULL
+  };
+
+  g_assert_nonnull (window);
+
+  g_object_set (G_OBJECT (window),
+                "application-name", "Example",
+                "application-icon", "org.gnome.Example",
+                "developer-name", "Angela Avery",
+                "version", "1.2.3",
+                "release-notes-version", "1.2.0",
+                "release-notes", "<p>Example</p>",
+                "comments", "Comments",
+                "website", "https://example.org";,
+                "issue-url", "https://example.org";,
+                "support-url", "https://example.org";,
+                "debug-info", "Debug",
+                "debug-info-filename", "debug.txt",
+                "developers", developers,
+                "designers", designers,
+                "artists", artists,
+                "documenters", documenters,
+                "translator-credits", "translator-credits",
+                "copyright", "© 2022 Angela Avery",
+                "license-type", GTK_LICENSE_GPL_3_0,
+                NULL);
+
+  g_assert_cmpstr (adw_about_window_get_application_name (window), ==, "Example");
+  g_assert_cmpstr (adw_about_window_get_application_icon (window), ==, "org.gnome.Example");
+  g_assert_cmpstr (adw_about_window_get_developer_name (window), ==, "Angela Avery");
+  g_assert_cmpstr (adw_about_window_get_version (window), ==, "1.2.3");
+  g_assert_cmpstr (adw_about_window_get_release_notes_version (window), ==, "1.2.0");
+  g_assert_cmpstr (adw_about_window_get_release_notes (window), ==, "<p>Example</p>");
+  g_assert_cmpstr (adw_about_window_get_comments (window), ==, "Comments");
+  g_assert_cmpstr (adw_about_window_get_website (window), ==, "https://example.org";);
+  g_assert_cmpstr (adw_about_window_get_issue_url (window), ==, "https://example.org";);
+  g_assert_cmpstr (adw_about_window_get_support_url (window), ==, "https://example.org";);
+  g_assert_cmpstr (adw_about_window_get_debug_info (window), ==, "Debug");
+  g_assert_cmpstr (adw_about_window_get_debug_info_filename (window), ==, "debug.txt");
+  g_assert_cmpstrv (adw_about_window_get_developers (window), developers);
+  g_assert_cmpstrv (adw_about_window_get_designers (window), designers);
+  g_assert_cmpstrv (adw_about_window_get_artists (window), artists);
+  g_assert_cmpstrv (adw_about_window_get_documenters (window), documenters);
+  g_assert_cmpstr (adw_about_window_get_translator_credits (window), ==, "translator-credits");
+  g_assert_cmpstr (adw_about_window_get_copyright (window), ==, "© 2022 Angela Avery");
+  g_assert_cmpuint (adw_about_window_get_license_type (window), ==, GTK_LICENSE_GPL_3_0);
+
+  adw_about_window_add_link (window, "Example", "https://example.org";);
+  adw_about_window_add_credit_section (window, "Example", credits);
+  adw_about_window_add_acknowledgement_section (window, "Example", acknowledgements);
+  adw_about_window_add_legal_section (window, "Example", "© 2022 Example", GTK_LICENSE_GPL_3_0, NULL);
+  adw_about_window_add_legal_section (window, "Example", "© 2022 Example", GTK_LICENSE_CUSTOM, "License");
+
+  g_assert_finalize_object (window);
+}
+
+int
+main (int   argc,
+      char *argv[])
+{
+  gtk_test_init (&argc, &argv, NULL);
+  adw_init ();
+
+  g_test_add_func ("/Adwaita/AboutWindow/create", test_adw_about_window_create);
+
+  return g_test_run ();
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]