1*4882a593SmuzhiyunGNU LESSER GENERAL PUBLIC LICENSE 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunVersion 3, 29 June 2007 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunCopyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunEveryone is permitted to copy and distribute verbatim copies of this license 8*4882a593Smuzhiyundocument, but changing it is not allowed. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunThis version of the GNU Lesser General Public License incorporates the terms 11*4882a593Smuzhiyunand conditions of version 3 of the GNU General Public License, supplemented 12*4882a593Smuzhiyunby the additional permissions listed below. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun 0. Additional Definitions. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunAs used herein, "this License" refers to version 3 of the GNU Lesser General 19*4882a593SmuzhiyunPublic License, and the "GNU GPL" refers to version 3 of the GNU General Public 20*4882a593SmuzhiyunLicense. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun"The Library" refers to a covered work governed by this License, other than 25*4882a593Smuzhiyunan Application or a Combined Work as defined below. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunAn "Application" is any work that makes use of an interface provided by the 30*4882a593SmuzhiyunLibrary, but which is not otherwise based on the Library. Defining a subclass 31*4882a593Smuzhiyunof a class defined by the Library is deemed a mode of using an interface provided 32*4882a593Smuzhiyunby the Library. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunA "Combined Work" is a work produced by combining or linking an Application 37*4882a593Smuzhiyunwith the Library. The particular version of the Library with which the Combined 38*4882a593SmuzhiyunWork was made is also called the "Linked Version". 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunThe "Minimal Corresponding Source" for a Combined Work means the Corresponding 43*4882a593SmuzhiyunSource for the Combined Work, excluding any source code for portions of the 44*4882a593SmuzhiyunCombined Work that, considered in isolation, are based on the Application, 45*4882a593Smuzhiyunand not on the Linked Version. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunThe "Corresponding Application Code" for a Combined Work means the object 50*4882a593Smuzhiyuncode and/or source code for the Application, including any data and utility 51*4882a593Smuzhiyunprograms needed for reproducing the Combined Work from the Application, but 52*4882a593Smuzhiyunexcluding the System Libraries of the Combined Work. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun 1. Exception to Section 3 of the GNU GPL. 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunYou may convey a covered work under sections 3 and 4 of this License without 57*4882a593Smuzhiyunbeing bound by section 3 of the GNU GPL. 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun 2. Conveying Modified Versions. 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunIf you modify a copy of the Library, and, in your modifications, a facility 62*4882a593Smuzhiyunrefers to a function or data to be supplied by an Application that uses the 63*4882a593Smuzhiyunfacility (other than as an argument passed when the facility is invoked), 64*4882a593Smuzhiyunthen you may convey a copy of the modified version: 65*4882a593Smuzhiyun 66*4882a593Smuzhiyuna) under this License, provided that you make a good faith effort to ensure 67*4882a593Smuzhiyunthat, in the event an Application does not supply the function or data, the 68*4882a593Smuzhiyunfacility still operates, and performs whatever part of its purpose remains 69*4882a593Smuzhiyunmeaningful, or 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunb) under the GNU GPL, with none of the additional permissions of this License 72*4882a593Smuzhiyunapplicable to that copy. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun 3. Object Code Incorporating Material from Library Header Files. 75*4882a593Smuzhiyun 76*4882a593SmuzhiyunThe object code form of an Application may incorporate material from a header 77*4882a593Smuzhiyunfile that is part of the Library. You may convey such object code under terms 78*4882a593Smuzhiyunof your choice, provided that, if the incorporated material is not limited 79*4882a593Smuzhiyunto numerical parameters, data structure layouts and accessors, or small macros, 80*4882a593Smuzhiyuninline functions and templates (ten or fewer lines in length), you do both 81*4882a593Smuzhiyunof the following: 82*4882a593Smuzhiyun 83*4882a593Smuzhiyuna) Give prominent notice with each copy of the object code that the Library 84*4882a593Smuzhiyunis used in it and that the Library and its use are covered by this License. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunb) Accompany the object code with a copy of the GNU GPL and this license document. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun 4. Combined Works. 89*4882a593Smuzhiyun 90*4882a593SmuzhiyunYou may convey a Combined Work under terms of your choice that, taken together, 91*4882a593Smuzhiyuneffectively do not restrict modification of the portions of the Library contained 92*4882a593Smuzhiyunin the Combined Work and reverse engineering for debugging such modifications, 93*4882a593Smuzhiyunif you also do each of the following: 94*4882a593Smuzhiyun 95*4882a593Smuzhiyuna) Give prominent notice with each copy of the Combined Work that the Library 96*4882a593Smuzhiyunis used in it and that the Library and its use are covered by this License. 97*4882a593Smuzhiyun 98*4882a593Smuzhiyunb) Accompany the Combined Work with a copy of the GNU GPL and this license 99*4882a593Smuzhiyundocument. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunc) For a Combined Work that displays copyright notices during execution, include 102*4882a593Smuzhiyunthe copyright notice for the Library among these notices, as well as a reference 103*4882a593Smuzhiyundirecting the user to the copies of the GNU GPL and this license document. 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun d) Do one of the following: 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun0) Convey the Minimal Corresponding Source under the terms of this License, 108*4882a593Smuzhiyunand the Corresponding Application Code in a form suitable for, and under terms 109*4882a593Smuzhiyunthat permit, the user to recombine or relink the Application with a modified 110*4882a593Smuzhiyunversion of the Linked Version to produce a modified Combined Work, in the 111*4882a593Smuzhiyunmanner specified by section 6 of the GNU GPL for conveying Corresponding Source. 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun1) Use a suitable shared library mechanism for linking with the Library. A 114*4882a593Smuzhiyunsuitable mechanism is one that (a) uses at run time a copy of the Library 115*4882a593Smuzhiyunalready present on the user's computer system, and (b) will operate properly 116*4882a593Smuzhiyunwith a modified version of the Library that is interface-compatible with the 117*4882a593SmuzhiyunLinked Version. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyune) Provide Installation Information, but only if you would otherwise be required 120*4882a593Smuzhiyunto provide such information under section 6 of the GNU GPL, and only to the 121*4882a593Smuzhiyunextent that such information is necessary to install and execute a modified 122*4882a593Smuzhiyunversion of the Combined Work produced by recombining or relinking the Application 123*4882a593Smuzhiyunwith a modified version of the Linked Version. (If you use option 4d0, the 124*4882a593SmuzhiyunInstallation Information must accompany the Minimal Corresponding Source and 125*4882a593SmuzhiyunCorresponding Application Code. If you use option 4d1, you must provide the 126*4882a593SmuzhiyunInstallation Information in the manner specified by section 6 of the GNU GPL 127*4882a593Smuzhiyunfor conveying Corresponding Source.) 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun 5. Combined Libraries. 130*4882a593Smuzhiyun 131*4882a593SmuzhiyunYou may place library facilities that are a work based on the Library side 132*4882a593Smuzhiyunby side in a single library together with other library facilities that are 133*4882a593Smuzhiyunnot Applications and are not covered by this License, and convey such a combined 134*4882a593Smuzhiyunlibrary under terms of your choice, if you do both of the following: 135*4882a593Smuzhiyun 136*4882a593Smuzhiyuna) Accompany the combined library with a copy of the same work based on the 137*4882a593SmuzhiyunLibrary, uncombined with any other library facilities, conveyed under the 138*4882a593Smuzhiyunterms of this License. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunb) Give prominent notice with the combined library that part of it is a work 141*4882a593Smuzhiyunbased on the Library, and explaining where to find the accompanying uncombined 142*4882a593Smuzhiyunform of the same work. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun 6. Revised Versions of the GNU Lesser General Public License. 145*4882a593Smuzhiyun 146*4882a593SmuzhiyunThe Free Software Foundation may publish revised and/or new versions of the 147*4882a593SmuzhiyunGNU Lesser General Public License from time to time. Such new versions will 148*4882a593Smuzhiyunbe similar in spirit to the present version, but may differ in detail to address 149*4882a593Smuzhiyunnew problems or concerns. 150*4882a593Smuzhiyun 151*4882a593SmuzhiyunEach version is given a distinguishing version number. If the Library as you 152*4882a593Smuzhiyunreceived it specifies that a certain numbered version of the GNU Lesser General 153*4882a593SmuzhiyunPublic License "or any later version" applies to it, you have the option of 154*4882a593Smuzhiyunfollowing the terms and conditions either of that published version or of 155*4882a593Smuzhiyunany later version published by the Free Software Foundation. If the Library 156*4882a593Smuzhiyunas you received it does not specify a version number of the GNU Lesser General 157*4882a593SmuzhiyunPublic License, you may choose any version of the GNU Lesser General Public 158*4882a593SmuzhiyunLicense ever published by the Free Software Foundation. 159*4882a593Smuzhiyun 160*4882a593SmuzhiyunIf the Library as you received it specifies that a proxy can decide whether 161*4882a593Smuzhiyunfuture versions of the GNU Lesser General Public License shall apply, that 162*4882a593Smuzhiyunproxy's public statement of acceptance of any version is permanent authorization 163*4882a593Smuzhiyunfor you to choose that version for the Library. 164