GNU LESSER GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.


  This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public License
and the additional permissions listed below.

  0. Additional Definitions.

  As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

  "The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

  An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of extending an interface provided by the Library.

  A "Combined Work" is a work produced by combining or linking an
Application with the Library.  The particular version of the Library
with which the Combined Work was made is also called the "Linked Version".

  The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

  The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

  1. Exception to Section 3 of the GNU GPL.

  You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

  2. Conveying Modified Versions.

  If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

   a) under this License, provided that you make a good faith effort to
   ensure that, in the event an Application does not supply the
   function or data, the facility still operates, and performs
   whatever part of its purpose remains meaningful, or

   b) under the GNU GPL, with none of the additional permissions of
   this License applicable to that copy.

  3. Object Code Incorporating Material from Library Header Files.

  The object code form of an Application may incorporate material from
a header file that is part of the Library.  You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, small inline functions (ten
lines or less in length), then the license must be explicit permission
to use and modify the material, and must allow reverse engineering for
debugging such modifications.

  4. Combined Works.

  You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, provided that you meet
all of the following conditions:

   a) The Combined Work must display notices respecting the Library
   and give credit to the authors of the Library, as shown below.

   b) The Combined Work must prominently display a notice giving the
   name of the Library and a prominent notice stating that it is being
   changed under the terms of this License.

   c) You must do the following when conveying a copy of the Combined
   Work:

      i) Preserve all the copyright notices of the Library.

      ii) Give prominent notice with the Combined Work that it is using
      the Library and provide a copy of this License.

      iii) For a Combined Work that displays copyright notices during
      execution, include the copyright notice for the Library among
      these notices, as well as a reference directing the user to the
      copies of the GNU GPL and this License.

      iv) State changes made to the Library and the date of any change.

      v) Do not misrepresent the Library as being endorsed by any
      person or entity other than the copyright holders.

      vi) If the Library as you received it specifies that a certain
      named version of the GNU Lesser General Public License "or any later
      version" applies to it, you have the option of following the terms
      and conditions either of that named version or of any later version
      published by the Free Software Foundation. If the Library as you
      received it does not specify a version number of the GNU Lesser
      General Public License, you may choose any version of the GNU Lesser
      General Public License ever published by the Free Software Foundation.

      vii) If the Library as you received it specifies that a proxy can
      decide whether future versions of the GNU Lesser General Public
      License shall apply, that proxy's public statement of acceptance
      of any version is permanent authorization for you to choose that
      version for the Library.

  5. Simple Combined Works.

  A Combined Work that is not a Library may be designed to work in
conjunction with the Library by being compiled or linked with it. Such
a work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

  However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
Library".  The executable is therefore covered by this License.

  Section 6 states terms for distribution of such executables.

  6. Revised Versions of the GNU Lesser General Public License.

  The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

  Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that numbered version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

  If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.