1*513427e3STreehugger Robot Apache License 2*513427e3STreehugger Robot Version 2.0, January 2004 3*513427e3STreehugger Robot http://www.apache.org/licenses/ 4*513427e3STreehugger Robot 5*513427e3STreehugger Robot TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6*513427e3STreehugger Robot 7*513427e3STreehugger Robot 1. Definitions. 8*513427e3STreehugger Robot 9*513427e3STreehugger Robot "License" shall mean the terms and conditions for use, reproduction, 10*513427e3STreehugger Robot and distribution as defined by Sections 1 through 9 of this document. 11*513427e3STreehugger Robot 12*513427e3STreehugger Robot "Licensor" shall mean the copyright owner or entity authorized by 13*513427e3STreehugger Robot the copyright owner that is granting the License. 14*513427e3STreehugger Robot 15*513427e3STreehugger Robot "Legal Entity" shall mean the union of the acting entity and all 16*513427e3STreehugger Robot other entities that control, are controlled by, or are under common 17*513427e3STreehugger Robot control with that entity. For the purposes of this definition, 18*513427e3STreehugger Robot "control" means (i) the power, direct or indirect, to cause the 19*513427e3STreehugger Robot direction or management of such entity, whether by contract or 20*513427e3STreehugger Robot otherwise, or (ii) ownership of fifty percent (50%) or more of the 21*513427e3STreehugger Robot outstanding shares, or (iii) beneficial ownership of such entity. 22*513427e3STreehugger Robot 23*513427e3STreehugger Robot "You" (or "Your") shall mean an individual or Legal Entity 24*513427e3STreehugger Robot exercising permissions granted by this License. 25*513427e3STreehugger Robot 26*513427e3STreehugger Robot "Source" form shall mean the preferred form for making modifications, 27*513427e3STreehugger Robot including but not limited to software source code, documentation 28*513427e3STreehugger Robot source, and configuration files. 29*513427e3STreehugger Robot 30*513427e3STreehugger Robot "Object" form shall mean any form resulting from mechanical 31*513427e3STreehugger Robot transformation or translation of a Source form, including but 32*513427e3STreehugger Robot not limited to compiled object code, generated documentation, 33*513427e3STreehugger Robot and conversions to other media types. 34*513427e3STreehugger Robot 35*513427e3STreehugger Robot "Work" shall mean the work of authorship, whether in Source or 36*513427e3STreehugger Robot Object form, made available under the License, as indicated by a 37*513427e3STreehugger Robot copyright notice that is included in or attached to the work 38*513427e3STreehugger Robot (an example is provided in the Appendix below). 39*513427e3STreehugger Robot 40*513427e3STreehugger Robot "Derivative Works" shall mean any work, whether in Source or Object 41*513427e3STreehugger Robot form, that is based on (or derived from) the Work and for which the 42*513427e3STreehugger Robot editorial revisions, annotations, elaborations, or other modifications 43*513427e3STreehugger Robot represent, as a whole, an original work of authorship. For the purposes 44*513427e3STreehugger Robot of this License, Derivative Works shall not include works that remain 45*513427e3STreehugger Robot separable from, or merely link (or bind by name) to the interfaces of, 46*513427e3STreehugger Robot the Work and Derivative Works thereof. 47*513427e3STreehugger Robot 48*513427e3STreehugger Robot "Contribution" shall mean any work of authorship, including 49*513427e3STreehugger Robot the original version of the Work and any modifications or additions 50*513427e3STreehugger Robot to that Work or Derivative Works thereof, that is intentionally 51*513427e3STreehugger Robot submitted to Licensor for inclusion in the Work by the copyright owner 52*513427e3STreehugger Robot or by an individual or Legal Entity authorized to submit on behalf of 53*513427e3STreehugger Robot the copyright owner. For the purposes of this definition, "submitted" 54*513427e3STreehugger Robot means any form of electronic, verbal, or written communication sent 55*513427e3STreehugger Robot to the Licensor or its representatives, including but not limited to 56*513427e3STreehugger Robot communication on electronic mailing lists, source code control systems, 57*513427e3STreehugger Robot and issue tracking systems that are managed by, or on behalf of, the 58*513427e3STreehugger Robot Licensor for the purpose of discussing and improving the Work, but 59*513427e3STreehugger Robot excluding communication that is conspicuously marked or otherwise 60*513427e3STreehugger Robot designated in writing by the copyright owner as "Not a Contribution." 61*513427e3STreehugger Robot 62*513427e3STreehugger Robot "Contributor" shall mean Licensor and any individual or Legal Entity 63*513427e3STreehugger Robot on behalf of whom a Contribution has been received by Licensor and 64*513427e3STreehugger Robot subsequently incorporated within the Work. 65*513427e3STreehugger Robot 66*513427e3STreehugger Robot 2. Grant of Copyright License. Subject to the terms and conditions of 67*513427e3STreehugger Robot this License, each Contributor hereby grants to You a perpetual, 68*513427e3STreehugger Robot worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69*513427e3STreehugger Robot copyright license to reproduce, prepare Derivative Works of, 70*513427e3STreehugger Robot publicly display, publicly perform, sublicense, and distribute the 71*513427e3STreehugger Robot Work and such Derivative Works in Source or Object form. 72*513427e3STreehugger Robot 73*513427e3STreehugger Robot 3. Grant of Patent License. Subject to the terms and conditions of 74*513427e3STreehugger Robot this License, each Contributor hereby grants to You a perpetual, 75*513427e3STreehugger Robot worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76*513427e3STreehugger Robot (except as stated in this section) patent license to make, have made, 77*513427e3STreehugger Robot use, offer to sell, sell, import, and otherwise transfer the Work, 78*513427e3STreehugger Robot where such license applies only to those patent claims licensable 79*513427e3STreehugger Robot by such Contributor that are necessarily infringed by their 80*513427e3STreehugger Robot Contribution(s) alone or by combination of their Contribution(s) 81*513427e3STreehugger Robot with the Work to which such Contribution(s) was submitted. If You 82*513427e3STreehugger Robot institute patent litigation against any entity (including a 83*513427e3STreehugger Robot cross-claim or counterclaim in a lawsuit) alleging that the Work 84*513427e3STreehugger Robot or a Contribution incorporated within the Work constitutes direct 85*513427e3STreehugger Robot or contributory patent infringement, then any patent licenses 86*513427e3STreehugger Robot granted to You under this License for that Work shall terminate 87*513427e3STreehugger Robot as of the date such litigation is filed. 88*513427e3STreehugger Robot 89*513427e3STreehugger Robot 4. Redistribution. You may reproduce and distribute copies of the 90*513427e3STreehugger Robot Work or Derivative Works thereof in any medium, with or without 91*513427e3STreehugger Robot modifications, and in Source or Object form, provided that You 92*513427e3STreehugger Robot meet the following conditions: 93*513427e3STreehugger Robot 94*513427e3STreehugger Robot (a) You must give any other recipients of the Work or 95*513427e3STreehugger Robot Derivative Works a copy of this License; and 96*513427e3STreehugger Robot 97*513427e3STreehugger Robot (b) You must cause any modified files to carry prominent notices 98*513427e3STreehugger Robot stating that You changed the files; and 99*513427e3STreehugger Robot 100*513427e3STreehugger Robot (c) You must retain, in the Source form of any Derivative Works 101*513427e3STreehugger Robot that You distribute, all copyright, patent, trademark, and 102*513427e3STreehugger Robot attribution notices from the Source form of the Work, 103*513427e3STreehugger Robot excluding those notices that do not pertain to any part of 104*513427e3STreehugger Robot the Derivative Works; and 105*513427e3STreehugger Robot 106*513427e3STreehugger Robot (d) If the Work includes a "NOTICE" text file as part of its 107*513427e3STreehugger Robot distribution, then any Derivative Works that You distribute must 108*513427e3STreehugger Robot include a readable copy of the attribution notices contained 109*513427e3STreehugger Robot within such NOTICE file, excluding those notices that do not 110*513427e3STreehugger Robot pertain to any part of the Derivative Works, in at least one 111*513427e3STreehugger Robot of the following places: within a NOTICE text file distributed 112*513427e3STreehugger Robot as part of the Derivative Works; within the Source form or 113*513427e3STreehugger Robot documentation, if provided along with the Derivative Works; or, 114*513427e3STreehugger Robot within a display generated by the Derivative Works, if and 115*513427e3STreehugger Robot wherever such third-party notices normally appear. The contents 116*513427e3STreehugger Robot of the NOTICE file are for informational purposes only and 117*513427e3STreehugger Robot do not modify the License. You may add Your own attribution 118*513427e3STreehugger Robot notices within Derivative Works that You distribute, alongside 119*513427e3STreehugger Robot or as an addendum to the NOTICE text from the Work, provided 120*513427e3STreehugger Robot that such additional attribution notices cannot be construed 121*513427e3STreehugger Robot as modifying the License. 122*513427e3STreehugger Robot 123*513427e3STreehugger Robot You may add Your own copyright statement to Your modifications and 124*513427e3STreehugger Robot may provide additional or different license terms and conditions 125*513427e3STreehugger Robot for use, reproduction, or distribution of Your modifications, or 126*513427e3STreehugger Robot for any such Derivative Works as a whole, provided Your use, 127*513427e3STreehugger Robot reproduction, and distribution of the Work otherwise complies with 128*513427e3STreehugger Robot the conditions stated in this License. 129*513427e3STreehugger Robot 130*513427e3STreehugger Robot 5. Submission of Contributions. Unless You explicitly state otherwise, 131*513427e3STreehugger Robot any Contribution intentionally submitted for inclusion in the Work 132*513427e3STreehugger Robot by You to the Licensor shall be under the terms and conditions of 133*513427e3STreehugger Robot this License, without any additional terms or conditions. 134*513427e3STreehugger Robot Notwithstanding the above, nothing herein shall supersede or modify 135*513427e3STreehugger Robot the terms of any separate license agreement you may have executed 136*513427e3STreehugger Robot with Licensor regarding such Contributions. 137*513427e3STreehugger Robot 138*513427e3STreehugger Robot 6. Trademarks. This License does not grant permission to use the trade 139*513427e3STreehugger Robot names, trademarks, service marks, or product names of the Licensor, 140*513427e3STreehugger Robot except as required for reasonable and customary use in describing the 141*513427e3STreehugger Robot origin of the Work and reproducing the content of the NOTICE file. 142*513427e3STreehugger Robot 143*513427e3STreehugger Robot 7. Disclaimer of Warranty. Unless required by applicable law or 144*513427e3STreehugger Robot agreed to in writing, Licensor provides the Work (and each 145*513427e3STreehugger Robot Contributor provides its Contributions) on an "AS IS" BASIS, 146*513427e3STreehugger Robot WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147*513427e3STreehugger Robot implied, including, without limitation, any warranties or conditions 148*513427e3STreehugger Robot of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149*513427e3STreehugger Robot PARTICULAR PURPOSE. You are solely responsible for determining the 150*513427e3STreehugger Robot appropriateness of using or redistributing the Work and assume any 151*513427e3STreehugger Robot risks associated with Your exercise of permissions under this License. 152*513427e3STreehugger Robot 153*513427e3STreehugger Robot 8. Limitation of Liability. In no event and under no legal theory, 154*513427e3STreehugger Robot whether in tort (including negligence), contract, or otherwise, 155*513427e3STreehugger Robot unless required by applicable law (such as deliberate and grossly 156*513427e3STreehugger Robot negligent acts) or agreed to in writing, shall any Contributor be 157*513427e3STreehugger Robot liable to You for damages, including any direct, indirect, special, 158*513427e3STreehugger Robot incidental, or consequential damages of any character arising as a 159*513427e3STreehugger Robot result of this License or out of the use or inability to use the 160*513427e3STreehugger Robot Work (including but not limited to damages for loss of goodwill, 161*513427e3STreehugger Robot work stoppage, computer failure or malfunction, or any and all 162*513427e3STreehugger Robot other commercial damages or losses), even if such Contributor 163*513427e3STreehugger Robot has been advised of the possibility of such damages. 164*513427e3STreehugger Robot 165*513427e3STreehugger Robot 9. Accepting Warranty or Additional Liability. While redistributing 166*513427e3STreehugger Robot the Work or Derivative Works thereof, You may choose to offer, 167*513427e3STreehugger Robot and charge a fee for, acceptance of support, warranty, indemnity, 168*513427e3STreehugger Robot or other liability obligations and/or rights consistent with this 169*513427e3STreehugger Robot License. However, in accepting such obligations, You may act only 170*513427e3STreehugger Robot on Your own behalf and on Your sole responsibility, not on behalf 171*513427e3STreehugger Robot of any other Contributor, and only if You agree to indemnify, 172*513427e3STreehugger Robot defend, and hold each Contributor harmless for any liability 173*513427e3STreehugger Robot incurred by, or claims asserted against, such Contributor by reason 174*513427e3STreehugger Robot of your accepting any such warranty or additional liability. 175*513427e3STreehugger Robot 176*513427e3STreehugger Robot END OF TERMS AND CONDITIONS 177*513427e3STreehugger Robot 178*513427e3STreehugger Robot APPENDIX: How to apply the Apache License to your work. 179*513427e3STreehugger Robot 180*513427e3STreehugger Robot To apply the Apache License to your work, attach the following 181*513427e3STreehugger Robot boilerplate notice, with the fields enclosed by brackets "[]" 182*513427e3STreehugger Robot replaced with your own identifying information. (Don't include 183*513427e3STreehugger Robot the brackets!) The text should be enclosed in the appropriate 184*513427e3STreehugger Robot comment syntax for the file format. We also recommend that a 185*513427e3STreehugger Robot file or class name and description of purpose be included on the 186*513427e3STreehugger Robot same "printed page" as the copyright notice for easier 187*513427e3STreehugger Robot identification within third-party archives. 188*513427e3STreehugger Robot 189*513427e3STreehugger Robot Copyright [yyyy] [name of copyright owner] 190*513427e3STreehugger Robot 191*513427e3STreehugger Robot Licensed under the Apache License, Version 2.0 (the "License"); 192*513427e3STreehugger Robot you may not use this file except in compliance with the License. 193*513427e3STreehugger Robot You may obtain a copy of the License at 194*513427e3STreehugger Robot 195*513427e3STreehugger Robot http://www.apache.org/licenses/LICENSE-2.0 196*513427e3STreehugger Robot 197*513427e3STreehugger Robot Unless required by applicable law or agreed to in writing, software 198*513427e3STreehugger Robot distributed under the License is distributed on an "AS IS" BASIS, 199*513427e3STreehugger Robot WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200*513427e3STreehugger Robot See the License for the specific language governing permissions and 201*513427e3STreehugger Robot limitations under the License. 202