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