Hello community,

here is the log from the commit of package gpsd.3942 for openSUSE:13.1:Update 
checked in at 2015-08-04 09:43:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/gpsd.3942 (Old)
 and      /work/SRC/openSUSE:13.1:Update/.gpsd.3942.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gpsd.3942"

Changes:
--------
New Changes file:

--- /dev/null   2015-07-22 21:25:44.928025004 +0200
+++ /work/SRC/openSUSE:13.1:Update/.gpsd.3942.new/gpsd.changes  2015-08-04 
09:43:29.000000000 +0200
@@ -0,0 +1,299 @@
+-------------------------------------------------------------------
+Fri Jul 24 19:23:08 UTC 2015 - astie...@suse.com
+
+- fix CVE-2013-2038: Denial of service by a remote attacker via
+  specially crafted packages [boo#818136]
+  adding CVE-2013-2038-malformed-packet-crash.patch
+  and CVE-2013-2038-ais_context-bitlen.patch
+
+-------------------------------------------------------------------
+Wed Nov 20 13:45:12 UTC 2013 - s...@bugs.jan.ritzerfeld.org
+
+- Fixed typo in udev rule (bnc#848936)
+
+-------------------------------------------------------------------
+Wed Oct 17 11:48:10 UTC 2012 - fcro...@suse.com
+
+- Fix build and adapt udev rule to new udev location.
+
+-------------------------------------------------------------------
+Mon Apr 23 11:16:40 UTC 2012 - opens...@dstoecker.de
+
+- update to gpsd version 3.5
+
+-------------------------------------------------------------------
+Fri Dec  2 16:27:13 UTC 2011 - co...@suse.com
+
+- add automake as buildrequire to avoid implicit dependency
+
+-------------------------------------------------------------------
+Sat Oct 15 12:21:55 UTC 2011 - andrea.turr...@gmail.com
+
+- fixed typos in gpsd.spec
+
+-------------------------------------------------------------------
+Sat May 14 14:00:06 CEST 2011 - dmuel...@suse.de
+
+- move libgpsd.so.0 from the shlib subpackage to the main package,
+  as it fileconflicts with other versions of it. the library is
+  internal only anyway.
+
+-------------------------------------------------------------------
+Sat Apr 30 18:11:34 UTC 2011 - j...@novell.com
+
+- gpsd-devel depends on python-gpsd too.
+
+-------------------------------------------------------------------
+Mon Apr  4 13:10:41 UTC 2011 - de...@navlost.eu
+
+- Update to version 2.96:
+  + Bumped maximum channel count to 32 to accommodate GPS+GLONASS devices.
+  + API version bumped to 5, redesign finished (changes are documented
+    in the Client HOWTO).
+  + cgps now handles resize signals.
+  + Code can now link with uClibc for embedded use.
+  + Various bugs in the C++ binding have been fixed.
+  + gpxlogger can now daemonize and write to a specified log file.
+  + A gpsd client can now set any locale it likes, and JSON
+    will still be parsed using the C locale matching the daemon's.
+  + Clients are no longer required to define a gpsd_report() hook.
+  + gpsd no longer emits probe strings to unidentified USB devices at startup.
+  + JSON timestamps in TPV and SKY are now ISO8601 rather than seconds since
+    the Unix epoch; the library handles the older style backward-compatibly. 
+  + GPGST sentences are now parsed for noise statistics when a device emits
+    them.
+  + AIS and RTCM2 JSON dumps have device fields.
+  + JSON reports now include 50bps subframe data if the device allows access to
+    it.
+  + gpsdecode can now dump NMEA GPS binary, and subframe data to JSON.
+  + The RTCM2 code now understands and  analyzes RTCM2.3 messages 13,
+    14, and 31, and has been checked against another analyzer.
+  + The ancient Sager dump format for RTCM2 is abolished in favor of a JSON
+    profile.
+
+-------------------------------------------------------------------
+Tue Oct 26 13:20:00 UTC 2010 - jreu...@novell.com
+
+- Move udev rules from /etc/udev/rules.d to /lib/udev/rules.d
+- Update to version 2.95:
+  + Rationalize clearing and generation of DOPs
+  + cgps now displays epx/epy rather than eph 
+  + Speed is now always reported if our last two fixes were good
+  + Reading packets from UDP datagrams by specifying a listening
+    address and port is now supported
+  + AIS code now interprets message type 6 and 8 application IDs 
+    correctly as a Designated Area Code and Functional ID pair
+  + gpspipe has a new -T option for setting the timestamp format
+  + xgpsspeed is completely rewritten in Python
+  + Qt bindings for the client library
+  + gpsdcode now uses | as a field separator in -c mode, as string
+    fields can contain commas
+  + Corrected error for reporting of AIS rate-of-turn fields
+- Changes of version 2.94:
+  + Error-checking in the 50bps subframe code has been greatly
+    improved
+  + The Garmin GPS driver can now use libusb for device discovery
+  + The libgps library has been split apart; the service functions
+    used by the daemon now live in libgpsd
+  + Stronger checking for valid ephemeris before extracting the
+    leap-second offset
+- Changes of version 2.93:
+  + Support for JSON dumping and parsing of AIS message types 25 and 26
+  + Removing non-streaming mode from the Python exerciser
+  + Unsetting the appropriate in-use flag in the device array
+  + Change the libgps default from old protocol to JSON
+  + Add a close() method to the C++ binding
+  + Try to recover better from sporadic cases of false matches to
+    Trimble packet format from a SiRF binary datastream
+  + gps_poll() now returns -1 with errno not set when the gpsd
+    socket closes
+  + TPV now refrains from reporting fields the fix quality won't support
+  + gpsmon option for listing device types is now -L to -l can be used
+    to enable logging
+  + Documentation updates
+  + New POLL command brings back polling-mode operation
+  + gpsd no longer eats CPU when a device is unexpectedly uplugged
+  + Support for the TNT revolution is back (run mode only)
+  + There is now a gpsdfake diagnostic tool that fakes being gpsd shipping
+    arbitrary specified data to clients.
+
+-------------------------------------------------------------------
+Sat Mar 27 02:43:46 CET 2010 - vu...@opensuse.org
+
+- Update to version 2.92:
+  + Fix a packaging error: the python library module was omitted
+    from the 2.91 tarball.
+  + Improve the json import test.
+- Changes from version 2.91:
+  + We have support for NMEA GLONASS sentences, and a regression
+    test.
+  + Clients now get a DEVICE notification on every driver switch.
+  + It is possible to specify a TCP/IP AIS feed such as AISHub as a
+    data source.
+  + Serious bitrot in the NTRIP support has been fixed - it was
+    probably nonfunctional for several releases before this.
+  + Fixed buggy display of satellite-used flags in cgps.
+  + xgps is replaced by a rewrite in Python that uses pygtk,
+    eliminating a dependency on Motif; also, it now displays AIS
+    information.
+  + Uniform treatment of display-unit defaulting and -u in xgps,
+    cgps, and lcdgps.
+  + Support for AIS message types 25 and 26.
+  + Support for IPv6.
+  + A numeric instability in the earth_distance() function
+    affecting track error modeling has been fixed.
+  + Old protocol has been removed from the daemon; the library
+    still speaks it.
+- Drop openmotif, openmotif-devel BuildRequires.
+- Add xorg-x11-devel, xorg-x11-libXpm-devel BuildRequires.
+- Add gpsd-fix-python-install.patch to fix installation of the
+  python bindings.
+- Add python-gtk Requires to gpsd-clients subpackage as xgps now
+  depends on it.
+- Use a valid group for the devel subpackage.
+- Do not manually strip executables: this will be done by the build
+  service.
+
+-------------------------------------------------------------------
+Fri Feb 12 16:03:58 UTC 2010 - jreu...@novell.com
+
+- Add missing dependency to python-curses for devel package (bnc#574584)
+- Add another Cyprus GPS USB id (bnc#574584)
+
+-------------------------------------------------------------------
+Fri Dec 18 16:22:14 UTC 2009 - se...@opensuse.org
+
+- fix udev warnings "SYSFS is deprecated"
+
+-------------------------------------------------------------------
+Tue Dec  8 16:51:54 UTC 2009 - jreu...@novell.com
+
+- Fix libgps subpackage requirements 
+
+-------------------------------------------------------------------
+Tue Dec  8 14:13:09 UTC 2009 - jreu...@novell.com
+
+- Upgrade to gpsd-2.90, from the upstream change log:
+  - GPSD-NG, the new JSON-based command protocol, is now deployed
+  - Detection of end of a fix-reporting cycle is now reliable
+  - Abandone gpsflash subproject 
+  - Increase major version of shared library due to significant API change
+  - Add new driver for Motorola Oncore receivers
+  - gpsfake can now accept multiple logfiles, interleaving test sentences
+    from each.
+  - gpsd now accepts error estimates from the NMEA $GPGBS sentence.
+  - Fix potential core dump in C client handling of "K" responses
+  - Introduce major and minor API version symbols into the public interfaces
+  - The sirfmon utility is gone, replaced by gpsmon
+  - Fix an old error in NMEA parsing
+  - cgpxlogger has been merged into gpxlogger.
+  - Speed-setting commands now allow parity and stop-bit setting
+  - tcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets
+  - The clientlibrary now works correctly in locales where the decimal
+    separator is not a period.
+- Typo in sirfmon / gpsmon has been fixed silently by upstream (#bnc513037)
+- Make libgps and python modules subpackages
+
+-------------------------------------------------------------------
++++ 102 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.gpsd.3942.new/gpsd.changes

New:
----
  CVE-2013-2038-ais_context-bitlen.patch
  CVE-2013-2038-malformed-packet-crash.patch
  gpsd-3.5.tar.bz2
  gpsd-fix-shebang.patch
  gpsd.changes
  gpsd.spec
  gpsd.xpm
  rules.gpsd
  sysconfig.gpsd
  udev.gpsd
  xgps.desktop
  xgpsspeed.desktop

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gpsd.spec ++++++
#
# spec file for package gpsd
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%if %( echo `rpm -q --queryformat %%{version} udev` ) > 190
%define _udevdir /usr/lib/udev/
%else
%define _udevdir /lib/udev/
%endif

Name:           gpsd
Summary:        Service daemon for mediating access to a GPS
License:        BSD-3-Clause
Group:          Hardware/Other
Url:            http://www.catb.org/gpsd/
Version:        3.5
Release:        0
%define         libgps libgps20
%define         libQgps libQgpsmm20
Requires:       udev
PreReq:         coreutils %fillup_prereq
BuildRequires:  bluez-devel
BuildRequires:  chrpath
BuildRequires:  gcc-c++
BuildRequires:  libcap-devel
BuildRequires:  libqt4-devel >= 4.5.3
BuildRequires:  libusb-1_0-devel
BuildRequires:  ncurses-devel
BuildRequires:  python-devel
BuildRequires:  scons >= 2.0.1
BuildRequires:  udev
BuildRequires:  update-desktop-files
BuildRequires:  xmlto
BuildRequires:  xorg-x11-devel
BuildRequires:  xorg-x11-libXpm-devel
%if 0%{?suse_version} > 1020
BuildRequires:  dbus-1-glib-devel
BuildRequires:  fdupes
%endif
Source:         %{name}-%{version}.tar.bz2
Source1:        rules.gpsd
Source2:        udev.gpsd
Source3:        sysconfig.gpsd
Source4:        gpsd.xpm
Source5:        xgps.desktop
Source6:        xgpsspeed.desktop
Patch0:         gpsd-fix-shebang.patch
Patch1:         CVE-2013-2038-ais_context-bitlen.patch
Patch2:         CVE-2013-2038-malformed-packet-crash.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1110
%else
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif

%description
gpsd is a service daemon that mediates access to a GPS sensor connected
to the host computer by serial or USB interface, making its data on the
location/course/velocity of the sensor available to be queried on TCP
port 2947 of the host computer.  With gpsd, multiple GPS client
applications (such as navigational and wardriving software) can share
access to a GPS without contention or loss of data.  Also, gpsd
responds to queries with a format that is substantially easier to parse
than NMEA 0183.  A client library is provided for applications.

After installing this RPM, gpsd will automatically connect to USB GPSes
when they are plugged in and requires no configuration.  For serial
GPSes, you will need to start gpsd by hand.  Once connected, the daemon
automatically discovers the correct baudrate, stop bits, and protocol.
The daemon will be quiescent when there are no clients asking for
location information, and copes gracefully when the GPS is unplugged
and replugged.



Authors:
--------
    Remco Treffkorn <re...@rvt.com>
    Derrick J. Brashear <sha...@dementia.org>
    Russ Nelson <nel...@crynwyr.com>
    Eric S. Raymond <e...@thyrsus.com>
    Gary E. Miller <g...@rellim.com> 
    Jeff Francis <j...@gritch.org>
    Amaury Jacquot <sxp...@esitcom.org>
    Chris Kuethe <chris.kue...@gmail.com>
    Ville Nuorvala <vnuor...@tcs.hut.fi>

%package devel
Summary:        Client libraries in C and Python for talking to a running gpsd 
or GPS
Group:          Development/Libraries/C and C++
Requires:       %name = %version
Requires:       pkgconfig
Requires:       python-curses
Requires:       python-gpsd = %version

%description devel
This package provides C header files for the gpsd shared libraries that
manage access to a GPS for applications and debugging tools. You will
need to have gpsd installed for it to work.


Authors:
--------
    Remco Treffkorn <re...@rvt.com>
    Derrick J. Brashear <sha...@dementia.org>
    Russ Nelson <nel...@crynwyr.com>
    Eric S. Raymond <e...@thyrsus.com>
    Gary E. Miller <g...@rellim.com> 
    Jeff Francis <j...@gritch.org>
    Amaury Jacquot <sxp...@esitcom.org>
    Chris Kuethe <chris.kue...@gmail.com>
    Ville Nuorvala <vnuor...@tcs.hut.fi>


%package -n %libgps
Summary:        Shared library for GPS applications
Group:          Development/Libraries/Python

%description -n %libgps
This package provides the shared library for gpsd and other GPS aware
applications.

Authors:
--------
    Remco Treffkorn <re...@rvt.com>
    Derrick J. Brashear <sha...@dementia.org>
    Russ Nelson <nel...@crynwyr.com>
    Eric S. Raymond <e...@thyrsus.com>
    Gary E. Miller <g...@rellim.com> 
    Jeff Francis <j...@gritch.org>
    Amaury Jacquot <sxp...@esitcom.org>
    Chris Kuethe <chris.kue...@gmail.com>
    Ville Nuorvala <vnuor...@tcs.hut.fi>


%package -n %libQgps
Summary:        Shared Qt library for GPS applications
Group:          Development/Libraries/Python

%description -n %libQgps
This package provides the shared Qt library for gpsd and other GPS aware
applications.

Authors:
--------
    Remco Treffkorn <re...@rvt.com>
    Derrick J. Brashear <sha...@dementia.org>
    Russ Nelson <nel...@crynwyr.com>
    Eric S. Raymond <e...@thyrsus.com>
    Gary E. Miller <g...@rellim.com> 
    Jeff Francis <j...@gritch.org>
    Amaury Jacquot <sxp...@esitcom.org>
    Chris Kuethe <chris.kue...@gmail.com>
    Ville Nuorvala <vnuor...@tcs.hut.fi>


%package -n python-gpsd
Summary:        Client libraries in C and Python for talking to a running gpsd 
or GPS
Group:          Development/Libraries/Python
Requires:       %name = %version
%{py_requires}

%description -n python-gpsd
This package provides python modules and tools for the gpsd shared libraries.
You will need to have gpsd installed for it to work.

Authors:
--------
    Remco Treffkorn <re...@rvt.com>
    Derrick J. Brashear <sha...@dementia.org>
    Russ Nelson <nel...@crynwyr.com>
    Eric S. Raymond <e...@thyrsus.com>
    Gary E. Miller <g...@rellim.com> 
    Jeff Francis <j...@gritch.org>
    Amaury Jacquot <sxp...@esitcom.org>
    Chris Kuethe <chris.kue...@gmail.com>
    Ville Nuorvala <vnuor...@tcs.hut.fi>

%package clients
Summary:        Clients for gpsd with an X interface
Group:          Hardware/Other
Requires:       python-gtk

%description clients
xgps is a simple test client for gpsd with an X interface. It displays
current GPS position/time/velocity information and (for GPSes that
support the feature) the locations of accessible satellites.

xgpsspeed is a speedometer that uses position information from the GPS.
It accepts an -h option and optional argument as for gps, or a -v
option to dump the package version and exit. Additionally, it accepts
-rv (reverse video) and -nc (needle color) options.

cgps resembles xgps, but without the pictorial satellite display.  It
can run on a serial terminal or terminal emulator.



Authors:
--------
    Remco Treffkorn <re...@rvt.com>
    Derrick J. Brashear <sha...@dementia.org>
    Russ Nelson <nel...@crynwyr.com>
    Eric S. Raymond <e...@thyrsus.com>
    Gary E. Miller <g...@rellim.com> 
    Jeff Francis <j...@gritch.org>
    Amaury Jacquot <sxp...@esitcom.org>
    Chris Kuethe <chris.kue...@gmail.com>
    Ville Nuorvala <vnuor...@tcs.hut.fi>

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1

%build
scons prefix=%{_prefix} libdir=%{_libdir} strip=False

%install
DESTDIR=%{buildroot} scons prefix=%{_prefix} libdir=%{_libdir} strip=False 
install
install -d -m 755 %{buildroot}%{_udevdir}
install -d -m 755 %{buildroot}%{_udevdir}/rules.d
install -d -m 755 %{buildroot}/var/adm/fillup-templates
install -d -m 755 %{buildroot}%{_datadir}/{applications,pixmaps}
install -m 644 %{SOURCE1} %{buildroot}%{_udevdir}/rules.d/51-gpsd.rules
install -m 755 %{SOURCE2} %{buildroot}%{_udevdir}/gpsd.sh
install -m 644 %{SOURCE3} %{buildroot}/var/adm/fillup-templates
if [ -f %{buildroot}%{python_sitearch}/*.egg-info ] ; then
  rm -f %{buildroot}%{python_sitearch}/*.egg-info
fi
chmod 755 %{buildroot}%{python_sitearch}/gps/gps.py
# install desktop entries
install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
install -m 644 %{SOURCE5} %{buildroot}%{_datadir}/applications/
install -m 644 %{SOURCE6} %{buildroot}%{_datadir}/applications/
%suse_update_desktop_file xgpsspeed 
%suse_update_desktop_file xgps 
# save some space, create symlinks
%if 0%{?suse_version} > 1020
%fdupes -s %buildroot
%endif
chrpath -r %{_libdir} %{buildroot}%{python_sitearch}/gps/*.so

%clean
rm -rf %{buildroot}

%post
/sbin/ldconfig
%fillup_only -n gpsd

%postun -p /sbin/ldconfig

%post -n %libgps -p /sbin/ldconfig

%postun -n %libgps -p /sbin/ldconfig

%post -n %libQgps -p /sbin/ldconfig

%postun -n %libQgps -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc README INSTALL COPYING gpsd.php
%{_mandir}/man?/gpsd.*
%{_mandir}/man?/gpsdctl.*
%{_mandir}/man?/gpsctl.*
%{_udevdir}/gpsd.sh
%{_udevdir}/rules.d/*
%{_sbindir}/gpsd
%{_sbindir}/gpsdctl
%{_bindir}/gpsctl
%{_libdir}/libgpsd.so.*
/var/adm/fillup-templates/sysconfig.gpsd

%files -n %libgps
%defattr(-,root,root)
%{_libdir}/libgps.so.*

%files -n %libQgps
%defattr(-,root,root)
%{_libdir}/libQgpsmm.so.*

%files devel
%defattr(-,root,root)
%doc README INSTALL COPYING TODO
%{_mandir}/man?/gpsfake.*
%{_mandir}/man?/gpscat.*
%{_mandir}/man?/libQgps*.*
%{_mandir}/man?/libgps*.*
%{_mandir}/man?/srec.*
%{_mandir}/man?/gpsdecode.*
%{_mandir}/man?/gpsd_json.*
%{_mandir}/man?/gpsprof.*
%{_bindir}/gpsfake
%{_bindir}/gpscat
%{_bindir}/gpsdecode
%{_bindir}/gpsprof
%{_includedir}/gps.h
%{_includedir}/libgpsmm.h
%{_libdir}/libgps.so
%{_libdir}/libgpsd.so
%{_libdir}/libQgpsmm.so
%{_libdir}/libQgpsmm.prl
%{_libdir}/pkgconfig/libgps*.pc
%{_libdir}/pkgconfig/Qgpsmm.pc

%files -n python-gpsd
%defattr(-,root,root)
%{python_sitearch}/gps/

%files clients
%defattr(-,root,root)
%{_mandir}/man?/gps.*
%{_mandir}/man?/gegps.*
%{_mandir}/man?/cgps.*
%{_mandir}/man?/lcdgps.1.gz
%{_mandir}/man?/xgps.*
%{_mandir}/man?/xgpsspeed.*
%{_mandir}/man?/gpspipe.*
%{_mandir}/man?/gpsmon.*
%{_bindir}/gegps
%{_bindir}/xgps
%{_bindir}/xgpsspeed
%{_bindir}/cgps
%{_bindir}/lcdgps
%{_bindir}/gpsmon
%{_bindir}/gpspipe
%if 0%{?suse_version} > 1020
%{_bindir}/gpxlogger
%endif
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/*.xpm

%changelog
++++++ CVE-2013-2038-ais_context-bitlen.patch ++++++
--- a/driver_aivdm.c    2014-08-29 11:59:08.227512000 +0200
+++ b/driver_aivdm.c    2014-08-29 11:58:48.666163000 +0200
@@ -195,6 +195,10 @@
                    (1 << (7 - ais_context->bitlen % 8));
            }
            ais_context->bitlen++;
+            if (ais_context->bitlen > sizeof(ais_context->bits)) {
+                gpsd_report(LOG_INF, "overlong AIVDM payload truncated.\n");
+                return false;
+            }
        }
        /*@ +shiftnegative @*/
     }
++++++ CVE-2013-2038-malformed-packet-crash.patch ++++++
--- a/packet.c  2014-08-29 12:00:31.405029000 +0200
+++ b/packet.c  2014-08-29 12:01:02.950602000 +0200
@@ -462,9 +462,8 @@
            /* not strictly correct, but helps for interpreting logfiles */
            lexer->state = NMEA_RECOGNIZED;
        else if (c == '$'){
-           /* faster recovery from missing sentence trailers */
-           lexer->state = NMEA_DOLLAR;
-           lexer->inbufptr += (n-1);
+           lexer->state = GROUND_STATE;
+           character_pushback(lexer);
        } else if (!isprint(c))
            lexer->state = GROUND_STATE;
        break;
++++++ gpsd-fix-shebang.patch ++++++
diff -Nur gpsd-2.95.orig/gps/gps.py gpsd-2.95/gps/gps.py
--- gpsd-2.95.orig/gps/gps.py   2010-06-09 00:44:50.000000000 +0200
+++ gpsd-2.95/gps/gps.py        2010-10-26 14:27:50.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
 # -*- coding: utf-8 -*-
 #
 # This file is Copyright (c) 2010 by the GPSD project
++++++ gpsd.xpm ++++++
/* XPM */
static char *gpsd[] = {
/* columns rows colors chars-per-pixel */
"105 126 256 2",
"   c #010103",
".  c #0A0606",
"X  c #0C0B0B",
"o  c #090808",
"O  c #130C0C",
"+  c #140D06",
"@  c #1A1107",
"#  c #141414",
"$  c #1C1C1C",
"%  c #1A1313",
"&  c #0F0F10",
"*  c #281907",
"=  c #231411",
"-  c #291614",
";  c #391D18",
":  c #361F09",
">  c #322204",
",  c #392707",
"<  c #3A2219",
"1  c #2B220D",
"2  c #232323",
"3  c #2C2C2C",
"4  c #282827",
"5  c #333333",
"6  c #3B3B3B",
"7  c #2F3030",
"8  c #1E1F20",
"9  c #482B02",
"0  c #4C3205",
"q  c #593705",
"w  c #48221B",
"e  c #57281F",
"r  c #583817",
"t  c #4F320F",
"y  c #663B02",
"u  c #733F01",
"i  c #693619",
"p  c #583A35",
"a  c #533127",
"s  c #682E23",
"d  c #773426",
"f  c #6A342A",
"g  c #401F19",
"h  c #554114",
"j  c #644502",
"k  c #6B4706",
"l  c #774901",
"z  c #795704",
"x  c #6E4C13",
"c  c #55463B",
"v  c #68453C",
"b  c #78453B",
"n  c #675339",
"m  c #714A27",
"M  c #77642A",
"N  c #7A6108",
"B  c #444444",
"V  c #4B4B4B",
"C  c #574A48",
"Z  c #535353",
"A  c #5C5B5B",
"S  c #585656",
"D  c #6A4B45",
"F  c #764C44",
"G  c #6A564A",
"H  c #78544A",
"J  c #675A56",
"K  c #775A57",
"L  c #76625D",
"P  c #746353",
"I  c #735966",
"U  c #5E6061",
"Y  c #656465",
"T  c #6C6B6B",
"R  c #6A6667",
"E  c #746D6C",
"W  c #7A6665",
"Q  c #7A706E",
"!  c #747474",
"~  c #7C7C7C",
"^  c #797776",
"/  c #776F78",
"(  c #863626",
")  c #8A3F32",
"_  c #885903",
"`  c #975701",
"'  c #884E0B",
"]  c #896705",
"[  c #966703",
"{  c #9B7402",
"}  c #987808",
"|  c #9B7718",
" . c #936B15",
".. c #AB7C02",
"X. c #A57602",
"o. c #AE7307",
"O. c #864637",
"+. c #974839",
"@. c #925030",
"#. c #AA5635",
"$. c #AB5335",
"%. c #AA7834",
"&. c #AC7132",
"*. c #806532",
"=. c #C27802",
"-. c #C1693B",
";. c #86544B",
":. c #935347",
">. c #845B53",
",. c #915A52",
"<. c #8E4D42",
"1. c #A5594F",
"2. c #8A6857",
"3. c #AA6658",
"4. c #B96A4E",
"5. c #976963",
"6. c #98726B",
"7. c #897C79",
"8. c #8C6C71",
"9. c #A06C62",
"0. c #B56E6A",
"q. c #8C5F66",
"w. c #C97A48",
"e. c #AC8201",
"r. c #A98706",
"t. c #B48B02",
"y. c #BB8D02",
"u. c #B58303",
"i. c #BC9302",
"p. c #B8970D",
"a. c #A88818",
"s. c #B49313",
"d. c #A98226",
"f. c #B98538",
"g. c #AE9413",
"h. c #C68A02",
"j. c #CA9302",
"k. c #CB9B02",
"l. c #C49805",
"z. c #D39C02",
"x. c #D59904",
"c. c #CB970B",
"v. c #CBA207",
"b. c #D3A301",
"n. c #DAA401",
"m. c #D5AA03",
"M. c #DCAB01",
"N. c #D8AA0C",
"B. c #DCB706",
"V. c #C4A513",
"C. c #D6B414",
"Z. c #E1AE01",
"A. c #E0AD08",
"S. c #E4B301",
"D. c #E4BB02",
"F. c #E7BA0A",
"G. c #E9BA0A",
"H. c #CC9830",
"J. c #D2AA30",
"K. c #E4B731",
"L. c #EAC50B",
"P. c #F2CC0B",
"I. c #F6D912",
"U. c #F0CE10",
"Y. c #FBE216",
"T. c #FDF723",
"R. c #FEF836",
"E. c #D6C414",
"W. c #B5904E",
"Q. c #84807F",
"!. c #93857E",
"~. c #A88C7C",
"^. c #D28B49",
"/. c #E8914F",
"(. c #D68373",
"). c #D28A7C",
"_. c #D48778",
"`. c #CF887A",
"'. c #E0AC43",
"]. c #FEFF46",
"[. c #3A3BBD",
"{. c #7B7988",
"}. c #6969AB",
"|. c #4548BB",
" X c #3738C2",
".X c #5253C6",
"XX c #6768C6",
"oX c #7979CA",
"OX c #7273CC",
"+X c #81768A",
"@X c #8979A1",
"#X c #7F8181",
"$X c #848484",
"%X c #868989",
"&X c #8A8B8B",
"*X c #888786",
"=X c #9C918D",
"-X c #8A8B92",
";X c #8E9090",
":X c #939494",
">X c #9B9B9C",
",X c #979697",
"<X c #93849B",
"1X c #A98D87",
"2X c #9091AF",
"3X c #A3A3A3",
"4X c #ABABAB",
"5X c #A9A5A7",
"6X c #BFAAA6",
"7X c #BDADAA",
"8X c #B8ABA8",
"9X c #BCB0AE",
"0X c #B4B5B5",
"qX c #B9B3B2",
"wX c #BBBBBB",
"eX c #B3B7B8",
"rX c #ABB0B1",
"tX c #AF9E9B",
"yX c #D18F82",
"uX c #CC958A",
"iX c #CC968B",
"pX c #C79C94",
"aX c #C99C93",
"sX c #C29F99",
"dX c #CB8E83",
"fX c #C5A29C",
"gX c #C8A098",
"hX c #C1A9A5",
"jX c #C1A6A1",
"kX c #CEBEA7",
"lX c #CAC2B3",
"zX c #9999DA",
"xX c #8A8BCF",
"cX c #A4A7C9",
"vX c #B0B1D3",
"bX c #9B9CE1",
"nX c #B4B5E7",
"mX c #ADAEE6",
"MX c #C0BFF5",
"NX c #C4C4C4",
"BX c #CCCCCC",
"VX c #C8C7C5",
"CX c #D3D3D3",
"ZX c #DCDCDC",
"AX c #D9D9D4",
"SX c #F3EFDE",
"DX c #C8C8F8",
"FX c #E3E4E4",
"GX c #EBEBEB",
"HX c #E6E9EA",
"JX c #F4F4F4",
"KX c #FFFFFF",
"LX c #F7F7F5",
"PX c #F4F2EB",
"IX c #DFE0DE",
"UX c None",
/* pixels */
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX9.6.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX7.%X%XQ.6.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX$X%X%X%X$X0.0.0.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX7.$X%X%X:XvXxXxXtXUX9.3.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXuXfX6XpXUXUXUX3.7.9.0.@XoXcX5X$X%X$X6.3.UXaX0X9XhXpXyXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX).fX7XqXeXeX0X0X0XUXUXUXUXUXUX6.K
 
3.0.=X%X%X%X%X7.UX6XeX0X0X0XeX0XqX6XaXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXuX6XqXeX0X0X0X0XeXeXeXhXUXUXUXUXUXUXlXrX5.UX5.$X%X%X%X5.UXUXjXqX0XeX0X0X0X0XeXeXqXfX).UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXyX6X0XeX0X0X0XeXeXqX6XaXyXUXUXUXUXUXUXUXUX4.fX1XUXUXUX3.7.Q.UXUXUXUXUXUX).aX6XqXeX0X0X0X0XeXqXfX(.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXgXqXeX0X0X0XeX0X7XaX(.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX(.pX7X0XeX0X0X0X0X7XyXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXfX0X0X0X0X0X0X7XiXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXaX9XeX0X0X0XeX9XuXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXfX0X0X0X0X0X0XfXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX_.hX0X0X0X0XeX9X).UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXuXqX0X0X0X0XqXpXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXjX0X0X0X0X0XjXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXhXeX0X0X0X0XfXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX(.7XeX0X0X0XqXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX).qX0X0X0X0X7X(.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX(
 w - O O X O O - w d 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXuXqX0X0XeX(.UXUXUX:.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXiX0X0X0X0X0XgXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXs
 %                       X w 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXfX6XfXUXUX>.E ;XL 
UXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXpXeX0X0X0XqXyXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;
                               o e 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX,.L *X$X&X~ ~ 
UXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXaXeX0X0X0XqX(.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;
                           X X       < 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX+.Q $X;X$X~ 
:X%X&X;.UXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXuXeX0X0X0XqX(.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXs
                             6 S 5 X     < 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX~ ~ &X%X:X~ $X&XQ 
UXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUX(.0X0X0X0X0X).UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXO
                             B ~ ! 6 o     s 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXL :X$X~ &X%X:X~ 
#X+.UXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUX9X0X0X0XeXpXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXs
                               3 B B 3 o     O 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX+.#X$X,X$X$X%X&X;XK 
UXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXaXeX0X0X0X9XUXUXUXUXUXUXUXUXG 
<.UXUXUXUXUXUXUXUXUXUXUXUXUXUX;                                               s 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXQ #X*X*X,X~ *X*X7.UXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXqX0X0X0XeXyXUXUXUXUXUXUXUXb :X$XG 
UXUXUXUXUXUXUXUXUXUXUXUXUXO                                               = 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;.:X$X$X$X&X:X~ $X;.UXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXiXeX0X0X0X9XUXUXUXUXUXUXUX+.$X$X^ 3XY 
O.UXUXUXUXUXUXUXUXUXUXUXo                                               X 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX^ $X,X$X*X$X&X:XW UXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUX7X0X0X0X0XgXUXUXUXUXUXUXUXJ :X%X&X^ :X%XD 
UXUXUXUXUXUXUXUXUX(                                                   
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXW %X$X*X,X$X%X~ %X+.UXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUX0X0X0X0XeX).UXUXUXUXUXUXD >X$X~ >X$X%X~ >XY 
+.UXUXUXUXUXUXUXd       o X #                     X 2 X             d 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX+.&X*X&X~ &X*XE >.UXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUX).eX0X0X0X0XUXUXUXUXUXUX+.~ $X*X3XT :X:X~ 
*X%X#XO.UXUXUXUXUXUXs       o # $ $ o           $ 6 B 2 $ 3 o           s 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXE $X;X~ ~ &X>.UXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXiXeX0X0X0X0XUXUXUXUXUXUXJ 3X$X*X~ ,X%X! 3X~ $XE 
UXUXUXUXUXUXUXs     2 Y T 3 $ X         5 ! ~ :X:X6 # #           w 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;.^ G *XFXKX1XUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXpXeX0X0X0X0XUXUXUXUXUXH >X! %X>X^ &X$X>X! 
&X&XO.UXUXUXUXUXUXUXs   # Y %X>X^ 2         $ R &X>X0X0X~ 2             g 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX~.FXvX-Xq.UXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXpXeX0X0X0X0XUXUXUXUXO.^ %X&X:XT 3X*X~ :X&X%XD 
UXUXUXUXUXUXUXUXd   3 :XBXHXHX,XX       V wXHXNX0XFXCXR o           ; 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX+.{.cXnXmX}.I UXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXiXeX0X0X0XeXyXUXUXUXR 3X! %X%X:X~ ~ 5X! &XE 
UXUXUXUXUXUXUXUXUXd   A NXA A BXGX5     # wXKX>X# # T JXZX7           - 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX7.C UXUX<XzXXXxXOX}.UXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUX).eX0X0X0X0XfXUXUXK :X! ,X:X! :X*X&X! >X~ 
O.UXUXUXUXUXUXUXUXUX(   3X$Xo 6 Y GXZ X 2 2 BXGX3   4 V 0XKXR           = 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX1XLX;XC UX5.zX.XoXoXbX8.UXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUX0X0X0X0X0X6XUXUXJ &X&X*X^ 5X^ $X>X$X#XF 
UXUXUXUXUXUXUXUXUXUX( o wXY   5 6 VXB o % # >XCX#   $ B :XKX~           O 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX8XKXBXA F D 2XXXXXDXDX7.UXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUX7X0X0X0XeXiXUXUXUXv ~ &X%X~ &X>XT ,XW 
UXUXUXUXUXUXUXUXUXUXUXUXo 4X*X    $ !.t q k q G VX2   . # 5XKXR           X 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX5XZXVXR B v / xX.XMXvX1.UXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUX7X0X0XjXUXUXUXUX:.#XT ,X~ *X~ >XT 
+.UXUXUXUXUXUXUXUXUXUXUXUX  ~ CX7   : x { p.v.s. .W.n .   B FXJX6           o 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXb ! 0XNX! C UX1.cXnXnX+XUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX>XKXBX! $X,X^ $XH 
UXUXUXUXUXUXUXUXUXUXUXUXUX  5 BX=Xt k ] l.B.L.C.p.C.V.] M lXPX0XX             
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX1XKXJX! D UXUX{.2X5X=XUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX:.q.R >XJXKXBXC J >XJ 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXo o J m k [ i.B.L.U.U.I.Y.Y.U.C.C.J.M .             
d UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX1.ZXHXU +.UXUX,.AXKXZX;.:.K UXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUX<.2XnXDXDX2X-XCX!.UXUXD 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXo . > q _ t.N.F.L.U.I.Y.R.T.Y.P.L.V.r.,           
  w UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX1X:Xv UXUXUXUXrXwX$X^ $X&X<.UXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUX{.nXDXDXbXnXvXU 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXO * 9 l X.k.F.L.U.U.Y.R.R.T.I.B.a.a.p.,   
          = UXUXUXUXUXUXUXUXUXUXUXUXUXUXUX6X7XaXUXUXUXUXUXUX<.T ~ :X*X$X&XW 
UXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXK 
}.XXzXbX[.xXvX;.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXO * 0 _ 
u.N.F.L.U.I.R.].T.I.V.a.v.F.y.:             o 
UXUXUXUXUXUXUXUXUXUXUXUXUXuX0X0X0XeX).UXUXUXUXK %X&X~ %X$X,X$X~ UXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXI 
XXOXoX.X.XmX8.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXO + : z 
h.G.L.P.P.I.T.T.E.a.s.A.M.h.l +     2 #       ; 
UXUXUXUXUXUXUXUXUXUXUXjX0X0X0X0X0XsXUXUXUXUX:.$X~ ,X%X$X$X*X:XH UXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUX,.zXzXXX XbX<XO.UXUXO.D p d 
UXUXUXUXUXUXUXUXUXUXUXUXUXUX=   1 t  .N.F.L.L.L.C.g.g.N.n.u.[ M c X     B R 6 X 
  . UXUXUXUXUXUXUXUXUXiXqX0X0X0X0X0XeXpXUXUXUXUXUX~ $X*X~ ,X$X*X$X^ UXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUX+.cXnX|.OXcXV p p Z A U 
%X%X:.UXUXUXUXUXUXUXUXUXUXUXUXUX-   V n k | s.V.V.V.V.N.A.j._ m L ^ ~ 5     $ T 
~ 6     ; UXUXUXUXUXUXyX9XeX0X0X0X0X0X0XqXUXUXUXUXUXUXH 
;X&X*X$X$X,X$X$X<.UXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUX;.{.cXmXmXW UXp S A 
&XZXKXHX,.UXUXUXUXUXUXUXUXUXUXUXUXUXO X Y ~ n _ h.G.P.G.M.k.o.l v ^ $X;X&XZ     
. V ^ B .   o ( UXUXUXiX9XeX0X0X0X0X0X0XeX7XUXUXUXUXUXUXUXUX~ ~ :X%X&X~ *X:XW 
UXUXUX",
"UXUXUXUXUXUXUXUXUXG L UX+.wXHX,X2X+XUXUXS A 
&XNXKXKX4XUXUXiXuX_.UXUXUXUXUXUXUXUXe   o Y $X^ n k [ X.[ _ l i G ~ :XNXFXZX>X$ 
    # 4 X       a dXhXqXeX0X0X0X0X0X0X0X0XaXUXUXUXUXUXUXUXUXUXQ &X$X~ :X*X&X~ 
$XUXUXUX",
"UXUXUXUXUXUXUXUXb ~ ,XR A CXKXKX:X) UXb Z 
3XJX,XBXCX:.UX7XeXeXeXqXfX).UXUXUXUX( o   o ~ :X~ ~ L c r r a D E 
$X3XZXKXKXKXJX*Xo       o $ B E 
>X0X0X0X0X0X0X0X0X0X0XhXUXUXUXUXUXUXUXUXUXUXUX<.%X%X:X~ $X:X%X&X;.UXUX",
"UXUXUXUXUXUXUXUX^ ,XT >X~ ! wXFX5.UXUXp ^ LXKXHX^ K 
UX(.eX0X0X0X0X0XeXqX7XgX1Xc $ X V FXAX:X{.$X~ ~ ^ ~ Q.%X0XGXKXKXKXKXKXFXA 5 Z R 
$X>X0X0X0X0X0X0X0X0X0X0X0X7X_.UXUXUXUXUXUXUXUXUXUXUXUXUX! ~ :X%X:X~ %X&XE UXUX",
"UXUXUXUXUXUXUXJ %X$X>X~ ~ >XR J UXUXUXf 4XKXGX0XH f 
UX`.eX0X0X0X0X0X0X0X0X0X0X4X3X&X4XCXCX0X~ ! ! ! ! ^ 
*X0XZXFXFXZXCXBXVXwX0X4X0X0X0X0X0X0X0X0X0X0X0X0X0XhX_.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXK
 :X$X$X&X$X~ H UXUXUX",
"UXUXUXUXUXUXb &X:X^ &X%X:X! ,X$XD 
UXUXUX8.=X5.UXUXUXUXUXqXeX0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X&XY A A T 
$X3X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0XqXgXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX~
 $X%XL :.UXUXUXUXUX",
"UXUXUXUXUXUX~ *X! 5X^ $X:X&X$X^ >XD 
UXUXUXUXUXUXUXUXUXUXUXuX6X0XeX0X0X0X0X0X0X0X0X0X0X0X0X0X0X>X&X:X3X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X4X,X!
 4.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXL >.UXUXUXUXUXUXUXUX",
"UXUXUXUXUXJ &X%X:X^ &X>XT ,X&X%XT 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXyXfXqX0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X4X3X%XY
 5 #   ; UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXb >X$X^ >X$X%X^ 3X$X^ :XF UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXW R 
$X>X4X0X0X0X0X0X0X0X0X4X0X0X0X0X0X0X0X0X0X0X0X0X0XwXwX3X! A 6 $ X           s 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUX+.~ $X$X3XT &X:X~ $X*X>XG UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXX   X # 
^ FXZXAXCXVXNXNX0X>XwXwXwXwXwXwXNXNXVXBXCXZXFXFXBX^                     o ( 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXJ >X$X*X~ :X&XT 3X$X$XE UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%       X 
~ FXKXKXKXKXLXGXVX5XAXFXHXJXJXJXJXLXLXLXLXJXGXVX>XT                       % 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXD >X! $X>X^ %X$X>X! *X;Xb UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXw         $ 
~ >XwXBXFXLXJXCX>X%X4XVXZXLXKXLXFXBXwX4X5X>X:X*X*X:X$                       w 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXO.E &X:XT >X&X^ &X&X&XD UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXo         4 
~ ~ ,XNXGXKXKXLXwX3XFXLXLXKXKXKXJXFXBX0X,X*X~ ~ ~ 3X,X#   4 3 o             o ( 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXK $X:X$X~ 5X! *XQ UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;           6 
$X4XFXKXKXKXKXKXCXBXKXKXKXKXKXKXKXKXKXLXGXCX4X&X~ $X4XT   # 5 5 #             - 
UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXb ~ %X:X! :X$XO.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXo   # $   # T 
wXGXKXKXKXKXKXKXGXJXKXKXKXKXKXKXKXKXKXKXKXKXLXZX4X$X$X3X6     X 4 #             
d UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXJ :X$X$XD UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXe   X B $   B 
NXLXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJXNX&X:X&XX     o 2 X         
  = UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXv $XE UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX=   4 2   # 
wXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXLXCX,X5X6     o o $       
      ( UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUX+.+.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX  X 5 o   R 
KXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXZXBX$X  3 ! 5 $ #     
      ; UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXw   4 $   # 
VXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXVX# Z %XA X 2   
        X UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXO o 5 .   R 
KXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXGX6 $ # o   $ X 
          d UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXs   2 2   # 
NXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXA         # 
$           ; UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%   3 X   A 
LXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKX%X        # 
4           % UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXd   o 3   X 
0XKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKX4X.       
X 3           o UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX=   # 2   5 
GXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXNXX       
X 5             ( UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXs     $ $   T 
KXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXCX#       
# 5             e UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%     $ $   
>XKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXZX$     
  2 3             ; UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXd       $ $ X 
wXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXFX2     
  5 $             = UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;       $ 2 # 
CXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXIX2     
o 6 X             O UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX-       $ 5 $ 
AXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXZX$     
# 6               . UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX-       # B 2 
AXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXBX#     
6 2               X UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX;         5 5 
NXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKX0Xo X 6 
S # X $ # o       = UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXw + > > + o 5 
0XKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKX:XX 5 4 
X   o # 6 Z 5 o   e UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX@.N } r.] > o R 
PXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXLXSXSXR 8 &     
        5 &X5 O UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%.t.k.b.k.X., o T 
GXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXPXW.d.J.a.1         
      3 ~ 4 O.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX4.} k.M.S.M.v.} 1   S 
ZXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXkX_ X.b.v.*           
    3 4 x J.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX .t.m.S.S.S.B.v.] @   6 
VXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXsXl e.m.l.*             
    , c.S.K.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX^.f.%.&.&. ...v.S.S.S.S.S.B.i.k .   2 
5XLXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJX~.l e.m.v.>               
X  .M.S.F./.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXw.d.r.t.t.t.t.l.b.Z.S.S.S.S.S.D.m.r.,     X 
~ GXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXZX3X2.l ..m.m.z .           + z 
k.M.S.F./.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXd.e.b.M.M.M.M.Z.S.S.S.S.S.S.S.S.B.v.] @      
 V CXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJX4X#XH l ..m.M.y.k * @ @ * 0 [ 
l.M.S.S.A./.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX| i.M.S.S.S.S.S.S.S.S.S.S.S.S.S.D.B.t.h      
   5 VXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXGX:X~ P u X.n.M.k...[ [ [ 
o.u.k.M.S.S.S.S.'.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX| i.M.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.m.} *    
     3 CXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXGX:X~ P u 
X.b.S.M.j.....h.h.z.M.S.S.S.S.S.C./.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%.i.M.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.l.z .  
       S JXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXGX,X~ P u { 
b.S.S.M.z.z.z.n.Z.S.S.S.S.S.S.M.J.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%.e.M.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.B.r.,  
       # CXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXLX5X~ G u [ 
z.S.S.S.S.Z.S.S.S.S.S.S.S.S.S.S.m.J.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX&.X.b.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.L.m.] 
@       $ AXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXBXY < y [ 
k.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.m.J.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX&.} 
b.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.D.i.j .   2 
>XKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXwX8 * y [ 
k.Z.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.M.N.H.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX-.{ 
b.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.m.{ h 
&XAXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXwX4   > y [ 
k.Z.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.M.k.H.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX&.{ 
b.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.L.l. 
.lXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXLX>X$   . 9 j [ 
k.Z.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.b.H.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX%.e.m.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.D...*.AXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXAXY
 X     . 9 k { 
k.Z.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.M.c.^.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX| 
i.M.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.L.b._ G 
CXKXKXKXKXKXKXKXKXKXKXKXKXKXZX*X2         @ 0 l { 
k.Z.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.Z.n.c.^.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXf.e.b.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.D.B.X.q
 a 3XGXKXKXKXKXKXKXKXLXFX0XT 4             * 0 l { 
j.Z.S.S.S.S.S.S.S.S.S.S.S.Z.Z.M.n.z.H./.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXd.i.M.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.h._
 , o 5 T ,X4X0X4X:X! V 4 o                 * q l [ 
h.M.S.S.S.S.S.S.S.S.S.M.n.b.k.l.H.^.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXd.i.m.Z.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.Z.j._
 q +       . o                             > q l [ 
y.n.S.S.S.S.S.S.S.S.m.k.y...f.^.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXf.r.i.k.b.m.M.M.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.M.j.[
 q @                                       > q z ] t.n.Z.S.S.S.S.S.M.b.l.e.| 
w.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXW.d.a.r.t.y.l.k.b.m.M.Z.S.S.S.S.S.S.S.S.S.S.Z.n.h._
 0 @         o o o o . . o o o             > 0 l ] 
e.z.Z.S.S.S.S.M.b.y.X.%.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX^.^.%.| ] [ 
X.t.l.k.b.n.M.Z.Z.Z.Z.Z.M.n.x.o.l , + - e d UXUXUXUXUXUXUXUXUXUXUX( d s e < , 9 
k z { y.z.n.M.M.n.k.e.] %.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX#.' x z _ [ 
X.u.h.x.x.x.x.x.h.=.` y t +.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXO., j z ] { 
e.t.y.y.u.{ z #.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX$.@.i q y l ` 
o.=.=.=.o.` u q $.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX, 0 k z z ] ] ] ] z 
x #.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX$.m t q l ' ` ` 
' y q #.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXd > 9 q j j j j j x 
$.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX@.m y q y 
q i #.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXm , , 9 9 0 r 
@.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX#.@.#.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX@.@.UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX",
"UXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUX"
};
++++++ rules.gpsd ++++++
SUBSYSTEM != "tty", GOTO="gpsd_end"

ACTION != "remove", GOTO="gpsd_add"
KERNEL=="ttyUSB*", RUN="gpsd.sh"

LABEL="gpsd_add"
ACTION != "add", GOTO="gpsd_end"

# "Prolific Technology 2303 (commonly in tandem with SiRF chips)"
KERNEL=="ttyUSB*", ATTR{idVendor}=="067b", ATTR{idProduct}=="2303", 
RUN="gpsd.sh"
# "FTDI 8U232AM"
KERNEL=="ttyUSB*", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", 
RUN="gpsd.sh"
# "Cypress M8/CY7C64013 (DeLorme uses these)"
KERNEL=="ttyUSB*", ATTR{idVendor}=="1163", ATTR{idProduct}=="0100", 
RUN="gpsd.sh"
KERNEL=="ttyUSB*", ATTR{idVendor}=="1163", ATTR{idProduct}=="0200", 
RUN="gpsd.sh"
# "PS-360 OEM (Microsoft GPS sold with Street and Trips 2005)"
KERNEL=="ttyUSB*", ATTR{idVendor}=="067b", ATTR{idProduct}=="aaa0", 
RUN="gpsd.sh"
# SiRF Star III 20ch Gmouse GPS (a.k.a Cygnal Integrated Products, Inc.)
KERNEL=="ttyUSB*", ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", 
RUN="gpsd.sh"

LABEL="gpsd_end"
++++++ sysconfig.gpsd ++++++
## Path:        Hardware/GPS
## Description: GPS Daemon

## Type:        yesno
## Default:     no
#
# Whether or not to start gpsd automatically on plugin event
#
GPSD_STARTBYUDEV="no"

## Type:        integer
## Default:     2947
#
# Use different port for the daemon
#
GPSD_PORT=

## Type:        string
## Default:     ""
#
# Further options to gpsd
#
GPSD_OPTIONS=""

++++++ udev.gpsd ++++++
#!/bin/bash
CTRL_SOCK="/var/run/gpsd.socket"
DEV_NAME="/var/run/gpsd.device"

. /etc/sysconfig/gpsd

if [ "$GPSD_STARTBYUDEV" != "yes" ]; then
    exit 1
fi

if [ "${ACTION}" = "remove" ]; then
  GPSD_PID=$(pidof gpsd)

  if [ -z "$GPSD_PID" ]; then
    echo "Can't find gpsd!"
  else
    echo "Remove gpsd from pid: ${GPSD_PID}"
    TTYDEV="/dev/$(basename $DEVPATH)"
    TTYDEV_SAVE=$(cat ${DEV_NAME})

     if [ "${TTYDEV}" = "${TTYDEV_SAVE}" ]; then
         # send TERM signal
         kill -15 ${GPSD_PID}
         rm -f ${DEV_NAME}
     fi
  fi
else
  case "$DEVPATH" in
    *tty*)
      TTYDEV="/dev/$(basename $DEVPATH)"
      options="-F $CTRL_SOCK $GPSD_OPTIONS"
  
      if [ -n "$GPSD_PORT" ]; then
        options="$options -S $GPSD_PORT"
      else
        GPSD_PORT=2947
      fi
  
      echo "Action '${ACTION}' Launch gpsd to $TTYDEV with $options"
  
      /usr/sbin/gpsd $options ${TTYDEV}
      echo "${TTYDEV}" > ${DEV_NAME}
      (sleep 1 && echo "F=$TTYDEV" >/dev/tcp/localhost/$GPSD_PORT) &
    ;;
  esac
fi 2>&1 | /bin/logger -t gpsd

++++++ xgps.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Name=xgps
GenericName=GPS information
Comment=Display GPS information from a gpsd daemon
Exec=xgps
Icon=gpsd
Terminal=false
Type=Application
Categories=System;Monitor;
++++++ xgpsspeed.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Name=xgpsspeed
GenericName=GPS speedometer
Comment=Display GPS speed from a gpsd daemon
Exec=xgpsspeed
Icon=gpsd
Terminal=false
Type=Application
Categories=System;Monitor;

Reply via email to