126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen                                 Apache License
326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen                           Version 2.0, January 2004
426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen                        http://www.apache.org/licenses/
526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   1. Definitions.
926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
1026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "License" shall mean the terms and conditions for use, reproduction,
1126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      and distribution as defined by Sections 1 through 9 of this document.
1226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
1326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Licensor" shall mean the copyright owner or entity authorized by
1426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the copyright owner that is granting the License.
1526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
1626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Legal Entity" shall mean the union of the acting entity and all
1726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      other entities that control, are controlled by, or are under common
1826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      control with that entity. For the purposes of this definition,
1926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "control" means (i) the power, direct or indirect, to cause the
2026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      direction or management of such entity, whether by contract or
2126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      otherwise, or (ii) ownership of fifty percent (50%) or more of the
2226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      outstanding shares, or (iii) beneficial ownership of such entity.
2326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
2426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "You" (or "Your") shall mean an individual or Legal Entity
2526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      exercising permissions granted by this License.
2626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
2726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Source" form shall mean the preferred form for making modifications,
2826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      including but not limited to software source code, documentation
2926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      source, and configuration files.
3026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
3126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Object" form shall mean any form resulting from mechanical
3226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      transformation or translation of a Source form, including but
3326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      not limited to compiled object code, generated documentation,
3426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      and conversions to other media types.
3526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
3626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Work" shall mean the work of authorship, whether in Source or
3726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Object form, made available under the License, as indicated by a
3826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      copyright notice that is included in or attached to the work
3926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      (an example is provided in the Appendix below).
4026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
4126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Derivative Works" shall mean any work, whether in Source or Object
4226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      form, that is based on (or derived from) the Work and for which the
4326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      editorial revisions, annotations, elaborations, or other modifications
4426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      represent, as a whole, an original work of authorship. For the purposes
4526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      of this License, Derivative Works shall not include works that remain
4626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      separable from, or merely link (or bind by name) to the interfaces of,
4726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the Work and Derivative Works thereof.
4826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
4926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Contribution" shall mean any work of authorship, including
5026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the original version of the Work and any modifications or additions
5126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      to that Work or Derivative Works thereof, that is intentionally
5226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      submitted to Licensor for inclusion in the Work by the copyright owner
5326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      or by an individual or Legal Entity authorized to submit on behalf of
5426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the copyright owner. For the purposes of this definition, "submitted"
5526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      means any form of electronic, verbal, or written communication sent
5626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      to the Licensor or its representatives, including but not limited to
5726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      communication on electronic mailing lists, source code control systems,
5826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      and issue tracking systems that are managed by, or on behalf of, the
5926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Licensor for the purpose of discussing and improving the Work, but
6026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      excluding communication that is conspicuously marked or otherwise
6126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      designated in writing by the copyright owner as "Not a Contribution."
6226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
6326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      "Contributor" shall mean Licensor and any individual or Legal Entity
6426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      on behalf of whom a Contribution has been received by Licensor and
6526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      subsequently incorporated within the Work.
6626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
6726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   2. Grant of Copyright License. Subject to the terms and conditions of
6826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      this License, each Contributor hereby grants to You a perpetual,
6926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
7026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      copyright license to reproduce, prepare Derivative Works of,
7126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      publicly display, publicly perform, sublicense, and distribute the
7226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Work and such Derivative Works in Source or Object form.
7326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
7426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   3. Grant of Patent License. Subject to the terms and conditions of
7526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      this License, each Contributor hereby grants to You a perpetual,
7626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
7726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      (except as stated in this section) patent license to make, have made,
7826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      use, offer to sell, sell, import, and otherwise transfer the Work,
7926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      where such license applies only to those patent claims licensable
8026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      by such Contributor that are necessarily infringed by their
8126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Contribution(s) alone or by combination of their Contribution(s)
8226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      with the Work to which such Contribution(s) was submitted. If You
8326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      institute patent litigation against any entity (including a
8426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      cross-claim or counterclaim in a lawsuit) alleging that the Work
8526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      or a Contribution incorporated within the Work constitutes direct
8626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      or contributory patent infringement, then any patent licenses
8726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      granted to You under this License for that Work shall terminate
8826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      as of the date such litigation is filed.
8926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
9026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   4. Redistribution. You may reproduce and distribute copies of the
9126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Work or Derivative Works thereof in any medium, with or without
9226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      modifications, and in Source or Object form, provided that You
9326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      meet the following conditions:
9426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
9526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      (a) You must give any other recipients of the Work or
9626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          Derivative Works a copy of this License; and
9726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
9826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      (b) You must cause any modified files to carry prominent notices
9926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          stating that You changed the files; and
10026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
10126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      (c) You must retain, in the Source form of any Derivative Works
10226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          that You distribute, all copyright, patent, trademark, and
10326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          attribution notices from the Source form of the Work,
10426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          excluding those notices that do not pertain to any part of
10526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          the Derivative Works; and
10626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
10726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      (d) If the Work includes a "NOTICE" text file as part of its
10826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          distribution, then any Derivative Works that You distribute must
10926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          include a readable copy of the attribution notices contained
11026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          within such NOTICE file, excluding those notices that do not
11126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          pertain to any part of the Derivative Works, in at least one
11226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          of the following places: within a NOTICE text file distributed
11326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          as part of the Derivative Works; within the Source form or
11426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          documentation, if provided along with the Derivative Works; or,
11526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          within a display generated by the Derivative Works, if and
11626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          wherever such third-party notices normally appear. The contents
11726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          of the NOTICE file are for informational purposes only and
11826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          do not modify the License. You may add Your own attribution
11926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          notices within Derivative Works that You distribute, alongside
12026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          or as an addendum to the NOTICE text from the Work, provided
12126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          that such additional attribution notices cannot be construed
12226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen          as modifying the License.
12326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
12426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      You may add Your own copyright statement to Your modifications and
12526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      may provide additional or different license terms and conditions
12626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      for use, reproduction, or distribution of Your modifications, or
12726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      for any such Derivative Works as a whole, provided Your use,
12826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      reproduction, and distribution of the Work otherwise complies with
12926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the conditions stated in this License.
13026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
13126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   5. Submission of Contributions. Unless You explicitly state otherwise,
13226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      any Contribution intentionally submitted for inclusion in the Work
13326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      by You to the Licensor shall be under the terms and conditions of
13426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      this License, without any additional terms or conditions.
13526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Notwithstanding the above, nothing herein shall supersede or modify
13626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the terms of any separate license agreement you may have executed
13726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      with Licensor regarding such Contributions.
13826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
13926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   6. Trademarks. This License does not grant permission to use the trade
14026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      names, trademarks, service marks, or product names of the Licensor,
14126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      except as required for reasonable and customary use in describing the
14226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      origin of the Work and reproducing the content of the NOTICE file.
14326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
14426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   7. Disclaimer of Warranty. Unless required by applicable law or
14526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      agreed to in writing, Licensor provides the Work (and each
14626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Contributor provides its Contributions) on an "AS IS" BASIS,
14726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      implied, including, without limitation, any warranties or conditions
14926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
15026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      PARTICULAR PURPOSE. You are solely responsible for determining the
15126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      appropriateness of using or redistributing the Work and assume any
15226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      risks associated with Your exercise of permissions under this License.
15326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
15426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   8. Limitation of Liability. In no event and under no legal theory,
15526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      whether in tort (including negligence), contract, or otherwise,
15626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      unless required by applicable law (such as deliberate and grossly
15726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      negligent acts) or agreed to in writing, shall any Contributor be
15826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      liable to You for damages, including any direct, indirect, special,
15926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      incidental, or consequential damages of any character arising as a
16026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      result of this License or out of the use or inability to use the
16126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      Work (including but not limited to damages for loss of goodwill,
16226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      work stoppage, computer failure or malfunction, or any and all
16326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      other commercial damages or losses), even if such Contributor
16426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      has been advised of the possibility of such damages.
16526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
16626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   9. Accepting Warranty or Additional Liability. While redistributing
16726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the Work or Derivative Works thereof, You may choose to offer,
16826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      and charge a fee for, acceptance of support, warranty, indemnity,
16926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      or other liability obligations and/or rights consistent with this
17026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      License. However, in accepting such obligations, You may act only
17126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      on Your own behalf and on Your sole responsibility, not on behalf
17226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      of any other Contributor, and only if You agree to indemnify,
17326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      defend, and hold each Contributor harmless for any liability
17426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      incurred by, or claims asserted against, such Contributor by reason
17526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      of your accepting any such warranty or additional liability.
17626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
17726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   END OF TERMS AND CONDITIONS
17826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
17926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   APPENDIX: How to apply the Apache License to your work.
18026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
18126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      To apply the Apache License to your work, attach the following
18226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      boilerplate notice, with the fields enclosed by brackets "[]"
18326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      replaced with your own identifying information. (Don't include
18426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      the brackets!)  The text should be enclosed in the appropriate
18526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      comment syntax for the file format. We also recommend that a
18626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      file or class name and description of purpose be included on the
18726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      same "printed page" as the copyright notice for easier
18826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen      identification within third-party archives.
18926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
190fbcf063401a5353cc8b7947e4ae44c29b4c344b3Wouter van Oortmerssen   Copyright 2014 Google Inc.
19126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
19226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   Licensed under the Apache License, Version 2.0 (the "License");
19326a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   you may not use this file except in compliance with the License.
19426a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   You may obtain a copy of the License at
19526a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
19626a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen       http://www.apache.org/licenses/LICENSE-2.0
19726a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen
19826a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   Unless required by applicable law or agreed to in writing, software
19926a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   distributed under the License is distributed on an "AS IS" BASIS,
20026a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20126a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   See the License for the specific language governing permissions and
20226a30738a4fa4e92300821fd761764ec8df2dcf2Wouter van Oortmerssen   limitations under the License.
203