Metadata-Version: 2.2
Name: photonforge
Version: 1.1.4
Summary: PhotonForge is a design tool that integrates with foundry PDKs to speed up the design, simulation, and verification cycle for optical components and systems.
Author-Email: "Flexcompute Inc." <support@flexcompute.com>
Project-URL: homepage, https://www.flexcompute.com/
Project-URL: documentation, https://docs.flexcompute.com/projects/photonforge/
Requires-Python: >=3.9
Requires-Dist: numpy>=1.22
Requires-Dist: tidy3d[trimesh]>=2.8.3
Provides-Extra: dev
Requires-Dist: ipykernel>=6.10; extra == "dev"
Requires-Dist: ipywidgets>=8.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.2; extra == "test"
Requires-Dist: gdstk; extra == "test"
Requires-Dist: scipy>=1.7; extra == "test"
Provides-Extra: interpolation
Requires-Dist: scipy>=1.13; extra == "interpolation"
Provides-Extra: live-viewer
Requires-Dist: Flask>=3.1.0; extra == "live-viewer"
Requires-Dist: Flask-Cors>=5.0.0; extra == "live-viewer"
Description-Content-Type: text/markdown

# PhotonForge

PhotonForge is a design tool that integrates with foundry PDKs to speed up the
design, simulation, and verification cycle for optical components and systems.


## Documentation

The online documentation can be found
[here](https://docs.flexcompute.com/projects/photonforge/).


## Installation

PhotonForge is a python module that can be easily installed via ``pip``:

```sh
pip install photonforge[live_viewer]
```

This command will install PhotonForge along with all of its dependencies in the
current environment. If you have Tidy3D already installed in a virtual
environment, you can use the same for PhotonForge.

A Tidy3D API key is required to authenticate PhotonForge users. If you don't
have one already configured, you can [get a free API
key](https://tidy3d.simulation.cloud/account?tab=apikey) and configure it with
the following command:

```sh
tidy3d configure
```

On **Windows**, it is easier to use `pipx` to find the path to the
configuration tool:

```sh
pip install pipx
pipx run tidy3d configure
```

More information about the installation and configuration of Tidy3D can be
found
[here](https://docs.flexcompute.com/projects/tidy3d/en/latest/install.html).

You can verify that the PhotonForge installation worked by running the
following command to print the installed version:

```sh
python -c 'import photonforge as pf; print(pf.__version__)'
```


## Third-party libraries and licenses

- [gdstk](https://github.com/heitzmann/gdstk),
  [Clipper2](https://github.com/AngusJohnson/Clipper2), Boost Geometry, Boost
  Polygon

  > Boost Software License - Version 1.0 - August 17th, 2003
  >
  > Permission is hereby granted, free of charge, to any person or organization
  > obtaining a copy of the software and accompanying documentation covered by
  > this license (the "Software") to use, reproduce, display, distribute,
  > execute, and transmit the Software, and to prepare derivative works of the
  > Software, and to permit third-parties to whom the Software is furnished to
  > do so, all subject to the following:
  >
  > The copyright notices in the Software and this entire statement, including
  > the above license grant, this restriction and the following disclaimer,
  > must be included in all copies of the Software, in whole or in part, and
  > all derivative works of the Software, unless such copies or derivative
  > works are solely in the form of machine-executable object code generated by
  > a source language processor.
  >
  > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  > FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
  > SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
  > FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
  > ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  > DEALINGS IN THE SOFTWARE.

- [json](https://github.com/nlohmann/json)

  > MIT License
  >
  > Copyright (c) 2013-2022 Niels Lohmann
  >
  > Permission is hereby granted, free of charge, to any person obtaining a
  > copy of this software and associated documentation files (the "Software"),
  > to deal in the Software without restriction, including without limitation
  > the rights to use, copy, modify, merge, publish, distribute, sublicense,
  > and/or sell copies of the Software, and to permit persons to whom the
  > Software is furnished to do so, subject to the following conditions:
  >
  > The above copyright notice and this permission notice shall be included in
  > all copies or substantial portions of the Software.
  >
  > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  > FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  > DEALINGS IN THE SOFTWARE.

- [toml++](https://github.com/marzer/tomlplusplus)

  > MIT License
  >
  > Copyright (c) Mark Gillard <mark.gillard@outlook.com.au>
  >
  > Permission is hereby granted, free of charge, to any person obtaining a
  > copy of this software and associated documentation files (the "Software"),
  > to deal in the Software without restriction, including without limitation
  > the rights to use, copy, modify, merge, publish, distribute, sublicense,
  > and/or sell copies of the Software, and to permit persons to whom the
  > Software is furnished to do so, subject to the following conditions:
  >
  > The above copyright notice and this permission notice shall be included in
  > all copies or substantial portions of the Software.
  >
  > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  > FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  > DEALINGS IN THE SOFTWARE.

- [ZLIB](https://www.zlib.net/)

  > Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler
  >
  > This software is provided 'as-is', without any express or implied warranty.
  > In no event will the authors be held liable for any damages arising from
  > the use of this software.
  >
  > Permission is granted to anyone to use this software for any purpose,
  > including commercial applications, and to alter it and redistribute it
  > freely, subject to the following restrictions:
  >
  > 1. The origin of this software must not be misrepresented; you must not
  >    claim that you wrote the original software. If you use this software in
  >    a product, an acknowledgment in the product documentation would be
  >    appreciated but is not required.
  > 2. Altered source versions must be plainly marked as such, and must not be
  >    misrepresented as being the original software.
  > 3. This notice may not be removed or altered from any source distribution.
  >
  > Jean-loup Gailly        Mark Adler
  > jloup@gzip.org          madler@alumni.caltech.edu

- [Qhull](https://github.com/qhull/qhull)

  >                     Qhull, Copyright (c) 1993-2020
  >
  >                             C.B. Barber
  >                            Arlington, MA
  >
  >                                and
  >
  >        The National Science and Technology Research Center for
  >         Computation and Visualization of Geometric Structures
  >                         (The Geometry Center)
  >                        University of Minnesota
  >
  >                        email: qhull@qhull.org
  >
  > This software includes Qhull from C.B. Barber and The Geometry Center.
  > Files derived from Qhull 1.0 are copyrighted by the Geometry Center.  The
  > remaining files are copyrighted by C.B. Barber.  Qhull is free software
  > and may be obtained via http from www.qhull.org.  It may be freely copied,
  > modified, and redistributed under the following conditions:
  >
  > 1. All copyright notices must remain intact in all files.
  >
  > 2. A copy of this text file must be distributed along with any copies
  >    of Qhull that you redistribute; this includes copies that you have
  >    modified, or copies of programs or other software products that
  >    include Qhull.
  >
  > 3. If you modify Qhull, you must include a notice giving the
  >    name of the person performing the modification, the date of
  >    modification, and the reason for such modification.
  >
  > 4. When distributing modified versions of Qhull, or other software
  >    products that include Qhull, you must provide notice that the original
  >    source code may be obtained as noted above.
  >
  > 5. There is no warranty or other guarantee of fitness for Qhull, it is
  >    provided solely "as is".  Bug reports or fixes may be sent to
  >    qhull_bug@qhull.org; the authors may or may not act on them as
  >    they desire.

- [CDT](https://artem-ogre.github.io/CDT/),
  [Eigen](https://eigen.tuxfamily.org/)

  > Mozilla Public License
  >
  > Version 2.0
  >
  > 1. Definitions
  >
  > 1.1. “Contributor”
  >
  > means each individual or legal entity that creates, contributes to the
  > creation of, or owns Covered Software.
  >
  > 1.2. “Contributor Version”
  >
  > means the combination of the Contributions of others (if any) used by a
  > Contributor and that particular Contributor’s Contribution.
  >
  > 1.3. “Contribution”
  >
  > means Covered Software of a particular Contributor.
  >
  > 1.4. “Covered Software”
  >
  > means Source Code Form to which the initial Contributor has attached the
  > notice in Exhibit A, the Executable Form of such Source Code Form, and
  > Modifications of such Source Code Form, in each case including portions
  > thereof.
  >
  > 1.5. “Incompatible With Secondary Licenses”
  >
  > means
  >
  > that the initial Contributor has attached the notice described in Exhibit B
  > to the Covered Software; or
  >
  > that the Covered Software was made available under the terms of version 1.1
  > or earlier of the License, but not also under the terms of a Secondary
  > License.
  >
  > 1.6. “Executable Form”
  >
  > means any form of the work other than Source Code Form.
  >
  > 1.7. “Larger Work”
  >
  > means a work that combines Covered Software with other material, in a
  > separate file or files, that is not Covered Software.
  >
  > 1.8. “License”
  >
  > means this document.
  >
  > 1.9. “Licensable”
  >
  > means having the right to grant, to the maximum extent possible, whether at
  > the time of the initial grant or subsequently, any and all of the rights
  > conveyed by this License.
  >
  > 1.10. “Modifications”
  >
  > means any of the following:
  >
  > any file in Source Code Form that results from an addition to, deletion
  > from, or modification of the contents of Covered Software; or
  >
  > any new file in Source Code Form that contains any Covered Software.
  >
  > 1.11. “Patent Claims” of a Contributor
  >
  > means any patent claim(s), including without limitation, method, process,
  > and apparatus claims, in any patent Licensable by such Contributor that
  > would be infringed, but for the grant of the License, by the making, using,
  > selling, offering for sale, having made, import, or transfer of either its
  > Contributions or its Contributor Version.
  >
  > 1.12. “Secondary License”
  >
  > means either the GNU General Public License, Version 2.0, the GNU Lesser
  > General Public License, Version 2.1, the GNU Affero General Public License,
  > Version 3.0, or any later versions of those licenses.
  >
  > 1.13. “Source Code Form”
  >
  > means the form of the work preferred for making modifications.
  >
  > 1.14. “You” (or “Your”)
  >
  > means an individual or a legal entity exercising rights under this License.
  > For legal entities, “You” includes any entity that controls, is controlled
  > by, or is under common control with You. For purposes of this definition,
  > “control” means (a) the power, direct or indirect, to cause the direction
  > or management of such entity, whether by contract or otherwise, or (b)
  > ownership of more than fifty percent (50%) of the outstanding shares or
  > beneficial ownership of such entity.
  >
  > 2. License Grants and Conditions
  >
  > 2.1. Grants
  >
  > Each Contributor hereby grants You a world-wide, royalty-free,
  > non-exclusive license:
  >
  > under intellectual property rights (other than patent or trademark)
  > Licensable by such Contributor to use, reproduce, make available, modify,
  > display, perform, distribute, and otherwise exploit its Contributions,
  > either on an unmodified basis, with Modifications, or as part of a Larger
  > Work; and
  >
  > under Patent Claims of such Contributor to make, use, sell, offer for sale,
  > have made, import, and otherwise transfer either its Contributions or its
  > Contributor Version.
  >
  > 2.2. Effective Date
  >
  > The licenses granted in Section 2.1 with respect to any Contribution become
  > effective for each Contribution on the date the Contributor first
  > distributes such Contribution.
  >
  > 2.3. Limitations on Grant Scope
  >
  > The licenses granted in this Section 2 are the only rights granted under
  > this License. No additional rights or licenses will be implied from the
  > distribution or licensing of Covered Software under this License.
  > Notwithstanding Section 2.1(b) above, no patent license is granted by a
  > Contributor:
  >
  > for any code that a Contributor has removed from Covered Software; or
  >
  > for infringements caused by: (i) Your and any other third party’s
  > modifications of Covered Software, or (ii) the combination of its
  > Contributions with other software (except as part of its Contributor
  > Version); or
  >
  > under Patent Claims infringed by Covered Software in the absence of its
  > Contributions.
  >
  > This License does not grant any rights in the trademarks, service marks, or
  > logos of any Contributor (except as may be necessary to comply with the
  > notice requirements in Section 3.4).
  >
  > 2.4. Subsequent Licenses
  >
  > No Contributor makes additional grants as a result of Your choice to
  > distribute the Covered Software under a subsequent version of this License
  > (see Section 10.2) or under the terms of a Secondary License (if permitted
  > under the terms of Section 3.3).
  >
  > 2.5. Representation
  >
  > Each Contributor represents that the Contributor believes its Contributions
  > are its original creation(s) or it has sufficient rights to grant the
  > rights to its Contributions conveyed by this License.
  >
  > 2.6. Fair Use
  >
  > This License is not intended to limit any rights You have under applicable
  > copyright doctrines of fair use, fair dealing, or other equivalents.
  >
  > 2.7. Conditions
  >
  > Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
  > Section 2.1.
  >
  > 3. Responsibilities
  >
  > 3.1. Distribution of Source Form
  >
  > All distribution of Covered Software in Source Code Form, including any
  > Modifications that You create or to which You contribute, must be under the
  > terms of this License. You must inform recipients that the Source Code Form
  > of the Covered Software is governed by the terms of this License, and how
  > they can obtain a copy of this License. You may not attempt to alter or
  > restrict the recipients’ rights in the Source Code Form.
  >
  > 3.2. Distribution of Executable Form
  >
  > If You distribute Covered Software in Executable Form then:
  >
  > such Covered Software must also be made available in Source Code Form, as
  > described in Section 3.1, and You must inform recipients of the Executable
  > Form how they can obtain a copy of such Source Code Form by reasonable
  > means in a timely manner, at a charge no more than the cost of distribution
  > to the recipient; and
  >
  > You may distribute such Executable Form under the terms of this License, or
  > sublicense it under different terms, provided that the license for the
  > Executable Form does not attempt to limit or alter the recipients’ rights
  > in the Source Code Form under this License.
  >
  > 3.3. Distribution of a Larger Work
  >
  > You may create and distribute a Larger Work under terms of Your choice,
  > provided that You also comply with the requirements of this License for the
  > Covered Software. If the Larger Work is a combination of Covered Software
  > with a work governed by one or more Secondary Licenses, and the Covered
  > Software is not Incompatible With Secondary Licenses, this License permits
  > You to additionally distribute such Covered Software under the terms of
  > such Secondary License(s), so that the recipient of the Larger Work may, at
  > their option, further distribute the Covered Software under the terms of
  > either this License or such Secondary License(s).
  >
  > 3.4. Notices
  >
  > You may not remove or alter the substance of any license notices (including
  > copyright notices, patent notices, disclaimers of warranty, or limitations
  > of liability) contained within the Source Code Form of the Covered
  > Software, except that You may alter any license notices to the extent
  > required to remedy known factual inaccuracies.
  >
  > 3.5. Application of Additional Terms
  >
  > You may choose to offer, and to charge a fee for, warranty, support,
  > indemnity or liability obligations to one or more recipients of Covered
  > Software. However, You may do so only on Your own behalf, and not on behalf
  > of any Contributor. You must make it absolutely clear that any such
  > warranty, support, indemnity, or liability obligation is offered by You
  > alone, and You hereby agree to indemnify every Contributor for any
  > liability incurred by such Contributor as a result of warranty, support,
  > indemnity or liability terms You offer. You may include additional
  > disclaimers of warranty and limitations of liability specific to any
  > jurisdiction.
  >
  > 4. Inability to Comply Due to Statute or Regulation
  >
  > If it is impossible for You to comply with any of the terms of this License
  > with respect to some or all of the Covered Software due to statute,
  > judicial order, or regulation then You must: (a) comply with the terms of
  > this License to the maximum extent possible; and (b) describe the
  > limitations and the code they affect. Such description must be placed in a
  > text file included with all distributions of the Covered Software under
  > this License. Except to the extent prohibited by statute or regulation,
  > such description must be sufficiently detailed for a recipient of ordinary
  > skill to be able to understand it.
  >
  > 5. Termination
  >
  > 5.1. The rights granted under this License will terminate automatically if
  > You fail to comply with any of its terms. However, if You become compliant,
  > then the rights granted under this License from a particular Contributor
  > are reinstated (a) provisionally, unless and until such Contributor
  > explicitly and finally terminates Your grants, and (b) on an ongoing basis,
  > if such Contributor fails to notify You of the non-compliance by some
  > reasonable means prior to 60 days after You have come back into compliance.
  > Moreover, Your grants from a particular Contributor are reinstated on an
  > ongoing basis if such Contributor notifies You of the non-compliance by
  > some reasonable means, this is the first time You have received notice of
  > non-compliance with this License from such Contributor, and You become
  > compliant prior to 30 days after Your receipt of the notice.
  >
  > 5.2. If You initiate litigation against any entity by asserting a patent
  > infringement claim (excluding declaratory judgment actions, counter-claims,
  > and cross-claims) alleging that a Contributor Version directly or
  > indirectly infringes any patent, then the rights granted to You by any and
  > all Contributors for the Covered Software under Section 2.1 of this License
  > shall terminate.
  >
  > 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end
  > user license agreements (excluding distributors and resellers) which have
  > been validly granted by You or Your distributors under this License prior
  > to termination shall survive termination.
  >
  > 6. Disclaimer of Warranty
  >
  > Covered Software is provided under this License on an “as is” basis,
  > without warranty of any kind, either expressed, implied, or statutory,
  > including, without limitation, warranties that the Covered Software is free
  > of defects, merchantable, fit for a particular purpose or non-infringing.
  > The entire risk as to the quality and performance of the Covered Software
  > is with You. Should any Covered Software prove defective in any respect,
  > You (not any Contributor) assume the cost of any necessary servicing,
  > repair, or correction. This disclaimer of warranty constitutes an essential
  > part of this License. No use of any Covered Software is authorized under
  > this License except under this disclaimer.
  >
  > 7. Limitation of Liability
  >
  > Under no circumstances and under no legal theory, whether tort (including
  > negligence), contract, or otherwise, shall any Contributor, or anyone who
  > distributes Covered Software as permitted above, be liable to You for any
  > direct, indirect, special, incidental, or consequential damages of any
  > character including, without limitation, damages for lost profits, loss of
  > goodwill, work stoppage, computer failure or malfunction, or any and all
  > other commercial damages or losses, even if such party shall have been
  > informed of the possibility of such damages. This limitation of liability
  > shall not apply to liability for death or personal injury resulting from
  > such party’s negligence to the extent applicable law prohibits such
  > limitation. Some jurisdictions do not allow the exclusion or limitation of
  > incidental or consequential damages, so this exclusion and limitation may
  > not apply to You.
  >
  > 8. Litigation
  >
  > Any litigation relating to this License may be brought only in the courts
  > of a jurisdiction where the defendant maintains its principal place of
  > business and such litigation shall be governed by laws of that
  > jurisdiction, without reference to its conflict-of-law provisions. Nothing
  > in this Section shall prevent a party’s ability to bring cross-claims or
  > counter-claims.
  >
  > 9. Miscellaneous
  >
  > This License represents the complete agreement concerning the subject
  > matter hereof. If any provision of this License is held to be
  > unenforceable, such provision shall be reformed only to the extent
  > necessary to make it enforceable. Any law or regulation which provides that
  > the language of a contract shall be construed against the drafter shall not
  > be used to construe this License against a Contributor.
  >
  > 10. Versions of the License
  >
  > 10.1. New Versions
  >
  > Mozilla Foundation is the license steward. Except as provided in Section
  > 10.3, no one other than the license steward has the right to modify or
  > publish new versions of this License. Each version will be given a
  > distinguishing version number.
  >
  > 10.2. Effect of New Versions
  >
  > You may distribute the Covered Software under the terms of the version of
  > the License under which You originally received the Covered Software, or
  > under the terms of any subsequent version published by the license steward.
  >
  > 10.3. Modified Versions
  >
  > If you create software not governed by this License, and you want to create
  > a new license for such software, you may create and use a modified version
  > of this License if you rename the license and remove any references to the
  > name of the license steward (except to note that such modified license
  > differs from this License).
  >
  > 10.4. Distributing Source Code Form that is Incompatible With Secondary
  > Licenses
  >
  > If You choose to distribute Source Code Form that is Incompatible With
  > Secondary Licenses under the terms of this version of the License, the
  > notice described in Exhibit B of this License must be attached.
  >
  > Exhibit A - Source Code Form License Notice This Source Code Form is
  > subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
  > the MPL was not distributed with this file, You can obtain one at
  > https://mozilla.org/MPL/2.0/.
  >
  > If it is not possible or desirable to put the notice in a particular file,
  > then You may include the notice in a location (such as a LICENSE file in a
  > relevant directory) where a recipient would be likely to look for such a
  > notice.
  >
  > You may add additional accurate notices of copyright ownership.
  >
  > Exhibit B - “Incompatible With Secondary Licenses” Notice
  >
  > This Source Code Form is “Incompatible With Secondary Licenses”, as defined
  > by the Mozilla Public License, v. 2.0.

- [OpenSSL](https://www.openssl.org/), [OSQP](https://osqp.org/)

  >                               Apache License
  >                         Version 2.0, January 2004
  >                      https://www.apache.org/licenses/
  >
  > TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  >
  > 1. Definitions.
  >
  >    "License" shall mean the terms and conditions for use, reproduction, and
  >    distribution as defined by Sections 1 through 9 of this document.
  >
  >    "Licensor" shall mean the copyright owner or entity authorized by the
  >    copyright owner that is granting the License.
  >
  >    "Legal Entity" shall mean the union of the acting entity and all other
  >    entities that control, are controlled by, or are under common control
  >    with that entity. For the purposes of this definition, "control" means
  >    (i) the power, direct or indirect, to cause the direction or management
  >    of such entity, whether by contract or otherwise, or (ii) ownership of
  >    fifty percent (50%) or more of the outstanding shares, or (iii)
  >    beneficial ownership of such entity.
  >
  >    "You" (or "Your") shall mean an individual or Legal Entity exercising
  >    permissions granted by this License.
  >
  >    "Source" form shall mean the preferred form for making modifications,
  >    including but not limited to software source code, documentation source,
  >    and configuration files.
  >
  >    "Object" form shall mean any form resulting from mechanical
  >    transformation or translation of a Source form, including but not
  >    limited to compiled object code, generated documentation, and
  >    conversions to other media types.
  >
  >    "Work" shall mean the work of authorship, whether in Source or Object
  >    form, made available under the License, as indicated by a copyright
  >    notice that is included in or attached to the work (an example is
  >    provided in the Appendix below).
  >
  >    "Derivative Works" shall mean any work, whether in Source or Object
  >    form, that is based on (or derived from) the Work and for which the
  >    editorial revisions, annotations, elaborations, or other modifications
  >    represent, as a whole, an original work of authorship. For the purposes
  >    of this License, Derivative Works shall not include works that remain
  >    separable from, or merely link (or bind by name) to the interfaces of,
  >    the Work and Derivative Works thereof.
  >
  >    "Contribution" shall mean any work of authorship, including the original
  >    version of the Work and any modifications or additions to that Work or
  >    Derivative Works thereof, that is intentionally submitted to Licensor
  >    for inclusion in the Work by the copyright owner or by an individual or
  >    Legal Entity authorized to submit on behalf of the copyright owner. For
  >    the purposes of this definition, "submitted" means any form of
  >    electronic, verbal, or written communication sent to the Licensor or its
  >    representatives, including but not limited to communication on
  >    electronic mailing lists, source code control systems, and issue
  >    tracking systems that are managed by, or on behalf of, the Licensor for
  >    the purpose of discussing and improving the Work, but excluding
  >    communication that is conspicuously marked or otherwise designated in
  >    writing by the copyright owner as "Not a Contribution."
  >
  >    "Contributor" shall mean Licensor and any individual or Legal Entity on
  >    behalf of whom a Contribution has been received by Licensor and
  >    subsequently incorporated within the Work.
  >
  > 2. Grant of Copyright License. Subject to the terms and conditions of this
  >    License, each Contributor hereby grants to You a perpetual, worldwide,
  >    non-exclusive, no-charge, royalty-free, irrevocable copyright license to
  >    reproduce, prepare Derivative Works of, publicly display, publicly
  >    perform, sublicense, and distribute the
  >    Work and such Derivative Works in Source or Object form.
  >
  > 3. Grant of Patent License. Subject to the terms and conditions of this
  >    License, each Contributor hereby grants to You a perpetual, worldwide,
  >    non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
  >    this section) patent license to make, have made, use, offer to sell,
  >    sell, import, and otherwise transfer the Work,
  >    where such license applies only to those patent claims licensable by
  >    such Contributor that are necessarily infringed by their Contribution(s)
  >    alone or by combination of their Contribution(s) with the Work to which
  >    such Contribution(s) was submitted. If You institute patent litigation
  >    against any entity (including a cross-claim or counterclaim in a
  >    lawsuit) alleging that the Work or a Contribution incorporated within
  >    the Work constitutes direct or contributory patent infringement, then
  >    any patent licenses granted to You under this License for that Work
  >    shall terminate as of the date such litigation is filed.
  >
  > 4. Redistribution. You may reproduce and distribute copies of the Work or
  >    Derivative Works thereof in any medium, with or without modifications,
  >    and in Source or Object form, provided that You meet the following
  >    conditions:
  >
  >    (a) You must give any other recipients of the Work or Derivative Works a
  >    copy of this License; and
  >
  >    (b) You must cause any modified files to carry prominent notices stating
  >    that You changed the files; and
  >
  >    (c) You must retain, in the Source form of any Derivative Works that You
  >    distribute, all copyright, patent, trademark, and attribution notices
  >    from the Source form of the Work, excluding those notices that do not
  >    pertain to any part of the Derivative Works; and
  >
  >    (d) If the Work includes a "NOTICE" text file as part of its
  >    distribution, then any Derivative Works that You distribute must include
  >    a readable copy of the attribution notices contained within such NOTICE
  >    file, excluding those notices that do not pertain to any part of the
  >    Derivative Works, in at least one of the following places: within a
  >    NOTICE text file distributed as part of the Derivative Works; within the
  >    Source form or documentation, if provided along with the Derivative
  >    Works; or, within a display generated by the Derivative Works, if and
  >    wherever such third-party notices normally appear. The contents of the
  >    NOTICE file are for informational purposes only and do not modify the
  >    License. You may add Your own attribution notices within Derivative
  >    Works that You distribute, alongside or as an addendum to the NOTICE
  >    text from the Work, provided that such additional attribution notices
  >    cannot be construed as modifying the License.
  >
  >    You may add Your own copyright statement to Your modifications and may
  >    provide additional or different license terms and conditions for use,
  >    reproduction, or distribution of Your modifications, or for any such
  >    Derivative Works as a whole, provided Your use, reproduction, and
  >    distribution of the Work otherwise complies with the conditions stated
  >    in this License.
  >
  > 5. Submission of Contributions. Unless You explicitly state otherwise, any
  >    Contribution intentionally submitted for inclusion in the Work by You to
  >    the Licensor shall be under the terms and conditions of this License,
  >    without any additional terms or conditions. Notwithstanding the above,
  >    nothing herein shall supersede or modify
  >    the terms of any separate license agreement you may have executed with
  >    Licensor regarding such Contributions.
  >
  > 6. Trademarks. This License does not grant permission to use the trade
  >    names, trademarks, service marks, or product names of the Licensor,
  >    except as required for reasonable and customary use in describing the
  >    origin of the Work and reproducing the content of the NOTICE file.
  >
  > 7. Disclaimer of Warranty. Unless required by applicable law or agreed to
  >    in writing, Licensor provides the Work (and each Contributor provides
  >    its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
  >    OF ANY KIND, either express or implied, including, without limitation,
  >    any warranties or conditions
  >    of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR
  >    PURPOSE. You are solely responsible for determining the appropriateness
  >    of using or redistributing the Work and assume any risks associated with
  >    Your exercise of permissions under this License.
  >
  > 8. Limitation of Liability. In no event and under no legal theory, whether
  >    in tort (including negligence), contract, or otherwise, unless required
  >    by applicable law (such as deliberate and grossly negligent acts) or
  >    agreed to in writing, shall any Contributor be liable to You for
  >    damages, including any direct, indirect, special,
  >    incidental, or consequential damages of any character arising as a
  >    result of this License or out of the use or inability to use the Work
  >    (including but not limited to damages for loss of goodwill, work
  >    stoppage, computer failure or malfunction, or any and all other
  >    commercial damages or losses), even if such Contributor has been advised
  >    of the possibility of such damages.
  >
  > 9. Accepting Warranty or Additional Liability. While redistributing the
  >    Work or Derivative Works thereof, You may choose to offer, and charge a
  >    fee for, acceptance of support, warranty, indemnity, or other liability
  >    obligations and/or rights consistent with this License. However, in
  >    accepting such obligations, You may act only
  >    on Your own behalf and on Your sole responsibility, not on behalf of any
  >    other Contributor, and only if You agree to indemnify, defend, and hold
  >    each Contributor harmless for any liability incurred by, or claims
  >    asserted against, such Contributor by reason of your accepting any such
  >    warranty or additional liability.
  >
  > END OF TERMS AND CONDITIONS
